Facebook veröffentlicht eigenen Out-Of-Memory-Killer als Open Source

Als Alternative zum Linux-Kernel-Ansatz für das OOM-Management hat Facebook oomd entwickelt und unter GPL-2-Lizenz auf GitHub veröffentlicht.

In Pocket speichern vorlesen Druckansicht 101 Kommentare lesen
Facebook veröffentlicht eigenen Out-Of-Memory-Killer als Open Source
Lesezeit: 2 Min.
Von
  • Matthias Parbel

Facebook vertraut bei seinen rund um den Globus verteilten Serversystemen auf Linux als primäres Betriebssystem. Für das Management der bei übermäßiger Speicherallokation auftretenden Out-Of-Memory-(OOM)-Probleme steht im Linux-Kernel ein OOM-Killer zur Verfügung. Facebook hat sich jedoch zu einer Eigenentwicklung entschlossen, um insbesondere die Folgen von damit verbundenen Livelocks der Systeme besser in den Griff zu bekommen. Facebooks oomd arbeitet dazu im Userspace und bietet neben einem Plugin-System sogenannte Pre-OOM Hooks, die detaillierteren Einblick in einen OOM-Vorfall verschaffen sollen, noch bevor einzelne Workloads in Gefahr geraten.

Während der Linux-OOM-Killer bei auftretenden Problemen zum Schutz des Gesamtsystems Prozesse abbricht, ohne deren Wichtigkeit im Hinblick auf laufende Applikationen zu berücksichtigen, geht oomd differenzierter zu Werke. Facebooks Eigenentwicklung greift dazu auf Pressure Stall Information (PSI) zurück. Das ebenfalls von Facebook entwickelte System verfolgt die Ressourcennutzung von CPU, Speicher und I/O und dient mit dem dabei erfassten Daten als eine Art Barometer für die Vorhersage drohender Engpässe. Darüber hinaus greift oomd auf den Linux-Kernel-Mechanismus cgroup2 zu, der Informationen zur Ressourcennutzung der Workloads sowie Prozessmetadaten liefert. Im Unterschied zum Kernel-fokussierten Linux-OOM-Killer verfolgt oomd damit einen holistischen Ansatz beim OOM-Management. Über das Plugin-System lässt sich oomd zudem noch individuell ergänzen, um sowohl die Erkennung wie auch die Behandlung von OOMs unterschiedlicher Workloads gezielter angehen zu können.

Nach Aussagen von Facebook zeigt sich oomd beim praktischen Einsatz im Vergleich zum Linux-OOM-Killer nicht nur stabiler und reaktionsschneller, auch Livelocks von 30 Minuten Dauer ließen sich damit offenbar verhindern. Um oomd weiterzuentwickeln, appelliert Facebook an die weltweite Community der Open Source Developer und veröffentlicht oomd unter GPL-2-Lizenz auf GitHub. (map)