Mining und Staking

Linux Control Groups (Cgroups) von Grund auf verstehen: Ressourcenmanagement einfach gemacht

Mining und Staking
Linux Cgroup from First Principles

Eine umfassende Einführung in Linux Control Groups (Cgroups) Version 2, die Funktionsweise, praktische Anwendungsbeispiele sowie Tipps zur Leistungsbegrenzung von Prozessen beinhaltet und dabei die grundlegenden Prinzipien des Systems erklärt.

Linux Control Groups, kurz Cgroups, sind ein mächtiges Werkzeug, um Prozesse innerhalb eines Linux-Systems präzise zu verwalten und deren Ressourcenverbrauch zu steuern. Diese Technologie ermöglicht die Einschränkung und Überwachung der verwendeten CPU-Zeit, des Speichers, der Netzwerkbandbreite und anderer wichtiger Systemressourcen. Die Einführung von Cgroups Version 2 im Linux-Kernel 4.5 hat das Konzept deutlich vereinfacht und die Handhabung grundlegend verbessert. Für alle, die sich tiefgründig mit den Mechanismen hinter Cgroups auseinandersetzen wollen, bietet sich hier ein verständlicher Einstieg.

Grundlegend beruhen Cgroups auf der Unix-Philosophie, dass „alles eine Datei ist“. Dies erleichtert die Interaktion mit dem Kernel über einfache Dateioperationen. Das bedeutet, dass durch Lesen und Schreiben in Systemdateien die Kontrolle über Systemressourcen erfolgen kann. Der zentrale Ort für Cgroups im Dateisystem ist das Verzeichnis /sys/fs/cgroup, das als Root-Cgroup bezeichnet wird. Innerhalb dieses Verzeichnisses können hierarchische Gruppen erstellt werden, die jeweils separate Ressourcenbeschränkungen erhalten können.

Jede Cgroup besteht aus einer oder mehreren Untergruppen, die spezialisierte Steuerungsdateien enthalten, um verschiedene Ressourcen zu managen. So können zum Beispiel individuelle Speicherlimits über die Datei memory.max gesetzt werden, welche die maximale Speicherzuweisung für alle Prozesse in dieser Gruppe bestimmt. Neben den Beschränkungsdateien existieren sogenannte Event- und Statusdateien, welche Echtzeitinformationen über den Ressourcenverbrauch liefern und Ereignisse wie Speicherüberschreitungen melden. Ein praktisches Beispiel: Angenommen, man möchte ein Programm daran hindern, mehr als 5 Megabyte Arbeitsspeicher zu verwenden.

Zuerst wird dazu eine Cgroup mit einem passenden Namen erstellt, beispielsweise /sys/fs/cgroup/demo/memory-limited. Anschließend aktiviert man den Speicher-Controller für diese Gruppe, indem man in der übergeordneten Gruppe die Datei cgroup.subtree_control mit dem Steuerungsnamen memory beschreibt. Danach schreibt man den Grenzwert, also 5242880 Bytes, in memory.max.

Werden nun Prozesse in dieser Gruppe gestartet oder durch Transfer in die Cgroup verschoben, können sie den gesetzten Speicherverbrauch nicht überschreiten. Eine wichtige Eigenschaft von Cgroups ist die sogenannte „no internal process“-Regel. Das bedeutet, eine Cgroup darf entweder direkt Prozesse beinhalten oder Untergruppen besitzen, aber nicht beides gleichzeitig – Ausnahme ist die Root-Cgroup. Dies sorgt für eine klare und konsistente Hierarchie, die die Verwaltung und das Ressourcen-Accounting vereinfacht. Um einen Prozess einer bestimmten Cgroup zuzuordnen, schreibt man dessen PID in die Datei cgroup.

procs der entsprechenden Gruppe. Neben Speicher kann die CPU-Nutzung präzise eingeschränkt werden. Im Rahmen des CPU-Controllers lassen sich sogenannte Quotas definieren, die festlegen, wie lange Prozesse in einem Beispielzeitraum die CPU beanspruchen dürfen. Dies wird über die Datei cpu.max umgesetzt, in der zwei Werte hinterlegt werden: die erlaubte Ausführungszeit in Mikrosekunden und die Länge des Beobachtungszeitraums.

Dadurch können sehr feine Einstellungen getroffen werden, etwa um nur 10 Prozent CPU-Zeit innerhalb eines bestimmten Intervalls zu erlauben. Für Entwickler und Systembetreiber ist das ideal, um ressourcenintensive Prozesse zu drosseln und eine faire Verteilung der CPU-Ressourcen sicherzustellen. Der Zugriff auf die Cgroup-Dateien erfolgt per root oder mit ausreichenden Rechten. Manchmal ist es notwendig, die Besitzverhältnisse der Verzeichnisse anzupassen, damit auch Nicht-Root-Anwender Prozesse in Cgroups managen können. Dennoch erfordert das Verschieben von Prozessen in Cgroups insbesondere dann root-Rechte, wenn gemeinsame Vorfahren keine passenden Schreibberechtigungen bieten.

Diese Sicherheitsschranken schützen das System vor unerwünschten Eingriffen. Die praktische Handhabung von Cgroups kann durch Werkzeuge wie cgexec erleichtert werden. Dieses Kommando startet Prozesse direkt innerhalb einer definierten Cgroup, ohne dass der Anwender selbst tief in die Verwaltung der cgroup.procs eingreifen muss. Dies ist besonders hilfreich bei Tests und beim experimentellen Arbeiten mit Ressourcenbeschränkungen.

Das Konzept der Control Groups eröffnet vielseitige Einsatzmöglichkeiten: sei es zur Isolation von Programmen in Containersystemen, zur Kontrolle der Ressourcenverteilung in Multi-User-Umgebungen oder zum Testen von Anwendungen unter limitierten Bedingungen. Insbesondere in der Cloud- und Containerwelt bilden Cgroups die technische Basis vieler Orchestrierungstools. Darüber hinaus ist die Cgroup-Technologie nicht nur eine einfache Begrenzung der Ressourcen, sondern auch ein Instrument zur Beobachtung und Fehleranalyse. Monitoring-Tools können die zahlreichen Statusdateien auswerten und so detaillierte Einblicke in die Leistung und Auslastung einzelner Prozessgruppen geben. Damit erfolgt eine granularere Steuerung und ein besseres Verständnis komplexer Systeme.

Wer sich tief in das Thema einarbeiten möchte, profitiert von ausführlicher Dokumentation und Beispielen. So bietet Facebooks Microsite zu Cgroup2 wertvolle Erklärungen und Anwendungsfälle. Auch das eigenständige Experimentieren mit den direkt im System verfügbaren Dateien erweitert das Verständnis und hilft, die oft als komplex wahrgenommene Thematik zu entmystifizieren. Dennoch stößt man gelegentlich auf Herausforderungen. So sind etwa Fehlermeldungen bei Verstößen gegen die Cgroup-Regeln oft wenig aussagekräftig.

Automatischer Handel mit Krypto-Geldbörsen Kaufen Sie Ihre Kryptowährung zum besten Preis

Als Nächstes
Utah $200M Crypto Fraud Suspect Flees to Russia, 'Extorted' by FSB: Report
Sonntag, 06. Juli 2025. SafeMoon-Skandal: Flucht des Krypto-Betrügers aus Utah nach Russland und angebliche Erpressung durch den FSB

Der Fall um den mutmaßlichen Krypto-Betrüger Kyle Nagy, der wegen eines 200 Millionen Dollar schweren Betrugsflugs nach Russland floh und dort angeblich vom russischen Geheimdienst FSB erpresst wurde, wirft ein Schlaglicht auf die Risiken der Krypto-Branche und geopolitischen Verstrickungen.

15 years after servers shut down, FromSoft's mech game Chromehounds back online
Sonntag, 06. Juli 2025. Chromehounds kehrt zurück: Das FromSoftware-Mech-Spiel ist 15 Jahre nach Serverabschaltung wieder online

Nach 15 Jahren Offline-Zeit erlebt das taktische Mech-Spiel Chromehounds von FromSoftware ein beeindruckendes Comeback. Dank engagierter Community-Arbeit und moderner Emulator-Technologie können Spieler die einzigartige PvP-Erfahrung endlich wieder online erleben und in epische Mech-Schlachten eintauchen.

5 sneaky tricks crypto phishing scammers used last year: SlowMist
Sonntag, 06. Juli 2025. Fünf raffiniert verschleierte Phishing-Methoden, die Krypto-Scammer im letzten Jahr einsetzten: Erkenntnisse von SlowMist

Eine umfassende Analyse der ausgeklügelten Phishing-Strategien, mit denen Cyberkriminelle im Kryptobereich im letzten Jahr zahlreiche Opfer täuschten und erheblichen Schaden anrichteten. Die Untersuchung von SlowMist zeigt die perfiden Tricks und Mechanismen hinter den Angriffen auf, gibt Einblicke in deren Funktionsweise und zeigt Präventionsmöglichkeiten auf.

Crypto-scammer convinces victim to hand over thousands in cash at local coffee shop
Sonntag, 06. Juli 2025. Gefährliche Krypto-Betrugsmasche: Wie ein Opfer bei einem Café-Besuch Tausende verlor

Ein aktueller Fall zeigt, wie eine Krypto-Betrügerin ein Opfer vor Ort täuschte und dazu brachte, mehrere Tausend Dollar in bar zu übergeben. Die Trickserie, bekannt als „Pig Butchering Scam“, stellt eine wachsende Gefahr für Anleger dar und erfordert erhöhte Aufmerksamkeit und Vorsicht im Umgang mit Kryptowährungen.

State police help Willimantic cryptocurrency scam victim recover $180K
Sonntag, 06. Juli 2025. Wie die Staats Polizei in Willimantic einem Opfer von Kryptowährungsbetrug 180.000 Dollar zurückholte

Ein detaillierter Bericht über einen erfolgreichen Fall von Kryptowährungsbetrug in Willimantic, bei dem die Staats Polizei durch gezielte Ermittlungen 180. 000 Dollar zurückerlangte.

Trump Plans Private Dinner for Largest Buyers of $TRUMP Crypto
Sonntag, 06. Juli 2025. Donald Trumps Exklusive Private Dinner für Top-Investoren des $TRUMP Kryptos: Ein Einblick in die Hintergründe und Auswirkungen

Eine ausführliche Analyse der geplanten privaten Veranstaltung von Donald Trump für die größten Käufer der $TRUMP Kryptowährung, ihre Bedeutung im Kontext moderner Politik und Finanzmärkte sowie die kritischen Stimmen aus der Krypto-Community.

Happy Birthday, Marilyn Monroe
Sonntag, 06. Juli 2025. Marilyn Monroe: Ein Leben voller Glamour, Mut und Inspiration zum 99. Geburtstag

Marilyn Monroe, geboren als Norma Jeane Mortenson, verkörperte Hollywood-Glamour und kämpfte gleichzeitig mit persönlichen Herausforderungen. Ihr Leben bietet wertvolle Lektionen über Authentizität, Resilienz und Selbstbestimmung, die auch heute noch inspirieren.