Suchen Sie nach einer konsistenten Methode zum Konfigurieren von cgroups unter Ubuntu 14.04 Desktop

7

Ich suche nach einer konsistenten Möglichkeit, cgroups auf einem Ubuntu 14.04 Desktop-System mit begrenzten Ressourcen zu konfigurieren.

Was ich gerne machen würde:

  • Erstellen Sie einige Gruppen mit begrenztem Speicher und CPU für bestimmte Aufgaben
  • Aktivieren Sie diese Gruppen beim Neustart automatisch
  • Weisen Sie jeder Gruppe bestimmte Befehle / Programme zu

Ich verstehe die Konfiguration von Gruppen und das Starten von Prozessen für eine bestimmte Gruppe mit cgexec. Das Problem ist der nächste Schritt.

Ich habe eine funktionierende Datei /etc/cgconfig.conf erstellt, die ich mithilfe von cgconfigparser analysieren und erfolgreich aktivieren kann, um konfigurierte cgroups zu erhalten. Dies ist jedoch so weit wie ich komme.

  • Ich finde keinen Dienst zum Lesen und Analysieren von /etc/cgconfig.conf beim Systemstart. Die aktuellen cgroup-Pakete scheinen einen solchen Service nicht zu enthalten.
  • Soweit ich weiß, wird /etc/cgconfig.conf von einer Datei /etc/cgrules.conf begleitet, in der beschrieben wird, wie Prozesse in einer bestimmten Gruppe standardmäßig gestartet werden. Ich kann den Dienst oder Mechanismus, der ihn analysiert, nicht identifizieren. Ohne diese Funktionalität muss ich alle Prozesse mit cgexec starten, um sie in eine cgroup zu bekommen.

Ich habe versucht, cgmanager zu verwenden, aber dieser Dienst scheint auch nicht über /etc/cgconfig.conf konfiguriert zu werden. Im Allgemeinen finde ich die Informationen zum Konfigurieren und Verwenden von cgroups auf Ubuntu Desktop-Systemen schwer zu finden.

Kann mich jemand in die richtige Richtung weisen? Welchen Dienst muss ich installieren und welchen Konfigurationsdateien gehorcht er?

Um ganz klar zu sein: Ich suche keine Container. Es dient dazu, das Ressourcenhandling auf einem einzigen dedizierten System zu strukturieren.

Danke vielmals :)

Sam Van den Eynde
quelle

Antworten:

6
# vi /etc/cgrules.conf
tomcat7:wkhtmltopdf cpu,cpuset  group1

# cgrulesengd -d -v -f /var/log/cgrulesengd.log &
# cat /var/log/cgrulesengd.log
CGroup Rules Engine Daemon log started
Current time: Thu Jan 15 16:04:20 2015

Opened log file: /var/log/cgrulesengd.log, log facility: 0, log level: 7
Proceeding with PID 28569
Rule: tomcat7:wkhtmltopdf
UID: 500
GID: N/A
DEST: group1
CONTROLLERS:
cpu
cpuset

Started the CGroup Rules Engine Daemon.
Gast
quelle
Danke, das hat bei mir unter Ubuntu 14.04 funktioniert, nachdem ich es getan habe sudo apt-get install cgroup-bin cgroup-lite libcgroup1. Weitere gute Infos unter frank2.net/cgroups-ubuntu-14-04 und devinhoward.ca/technology/2015/feb/…
elimisteve