Einstellung absolute Grenzen für die CPU für Docker-Container
Ich versuche mit absoluten Grenzen auf Docker-container CPU-Auslastung. Die CPU-Anteile-Konzept (docker run -c <shares>
) ist relativ, aber ich würde gerne etwas sagen wie "lass diesen container verwenden, höchstens 20ms CPU-Zeit jede 100ms. Die nächste Antwort, die ich finden kann, ist ein Hinweis aus der Mailingliste auf mit cpu.cfs_quota_us
und cpu.cfs_period_us
. Wie nutzt man diese Einstellungen bei der Verwendung von docker run
?
Habe ich nicht eine strenge Anforderung für entweder LXC-unterstützt Docker (z.B. pre0.9) oder späteren Versionen, nur brauchen, um ein Beispiel für diese Einstellungen verwendet--keine links zu relevanten Dokumentation, oder hilfreiche blogs sind sehr zu begrüßen. Ich bin derzeit mit Ubuntu 12.04 und unter /sys/fs/cgroup/cpu/docker
ich sehe diese Möglichkeiten:
$ ls /sys/fs/cgroup/cpu/docker
cgroup.clone_children cpu.cfs_quota_us cpu.stat
cgroup.event_control cpu.rt_period_us notify_on_release
cgroup.procs cpu.rt_runtime_us tasks
cpu.cfs_period_us cpu.shares
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich glaube, ich habe mittlerweile diese Arbeit. Ich musste neu starten meine Docker-daemon mit
--exec-driver=lxc
als ichkonnte nicht einen Weg finden, um pass cgroup Argumente zu
libcontainer
. Dieser Ansatz arbeitete für mich:Notwendigen CFS-docs auf Bandbreite begrenzen, sind hier.
Ich kurz bestätigt mit sysbench, dass dies scheint die Einführung einer absoluten Grenze, wie unten gezeigt: