Systemd 205 bringt erste Umbauten zur Cgroup-Nutzung

Die jetzt erhältliche Version 205 der System- und Dienst-Managements-Software Systemd bringt einige größere Umbauten, durch die Systemd mittelfristig die Kontrolle über die Ressourcenregelung mit Cgroups übernehmen soll.

In Pocket speichern vorlesen Druckansicht 5 Kommentare lesen
Lesezeit: 2 Min.
Von
  • Thorsten Leemhuis

Die jetzt erhältliche Version 205 der System- und Dienst-Managements-Software Systemd bringt einige größere Umbauten und führt neue Konzepte ein. Damit tätigt Systemd die ersten Schritte, um mittelfristig die Kontrolle über die Interaktion mit den Control Groups (Cgroups) des Kernels zu übernehmen. Über sie lässt sich bei aktuellen Kernel-Versionen der Verbrauch von Systemressourcen regeln, um etwa CPU-Zeit, Arbeitsspeicherverbrauch oder Datenträgerdurchsatz zu limitieren.

Diese Umbauten an Systemd erfolgen in Abstimmung mit dem Betreuer der viel kritisierten Cgroups-Codes im Kernel, der Letzteren seit einigen Monaten nach und nach erheblich verändert, um langfristig einige Designschwächen dieses Subsystems zu beseitigen. Nach dem derzeitigen Plan soll Systemd dabei zur zentralen Instanz rund um die Interaktion zwischen Userland und Cgroup-Konfiguration des Kernels werden; Programme sollen daher nicht mehr selbst zur Laufzeit in die Cgroup-Konfiguration eingreifen, sondern ihre Wünsche über ein API an Systemd kommunizieren. Details zu diesen Plänen hatten der Cgroup-Betreuer des Kernels und die Systemd-Entwickler kürzlich ausgearbeitet und verkündet.

In dem Zug entfallen mit der neuen Systemd-Version einige Konfigurationsparameter zum direkten Beeinflussen von Cgroup-Parametern. Ähnliche Resultate sollen sich in Zukunft mit einigen der neuen oder geplanten Funktionen umsetzen lassen. Zu den neuen Funktionen gehören Scope- und Slice-Units. Erstere ähneln den zum Start von Diensten genutzten Service-Units, werden aber nicht über den Init-Prozess selbst erzeugt, sondern aus bestehenden Prozessen; Dienste und Anwendungen können das zum Gruppieren von Kindprozessen nutzen. Slice-Units hingegen sollen eine Partitionierung des Systems ermöglichen. Standardmäßig gibt es drei Slices: eine für Systemdienste, eine für die Anwender-Sitzungen sowie eine für virtuelle Maschinen und Container. Das neue Systemd bringt zudem erstmals das als Mini-Daemon bezeichnete systemd-machined mit, das sich um virtuelle Maschinen kümmert und Container im Auge behält; er soll zudem Meta-Informationen zu diesen vorhalten, die sich über das Kommandozeilenprogramm machinectl abfragen lassen sollen. (thl)