Facebook gibt Out-of-Memory-Killer frei

25.07.2018

Gleichzeitig führt Facebook eine neue Metrik ein, die ein besserer Indikator für die Systemauslastung sein soll als der Load Average.

Mit oomd hat Facebook einen neuen Out-of-Memory-Killer für Linux eingeführt. Es soll eine bessere Alternative zur im Kernel eingebauten Softwarekomponente sein, die Prozesse beendet, wenn ein System an seine Leistungsgrenzen gerät. oomd läuft im Userspace und ist laut Facebook schneller, weniger strikt und zuverlässiger als der Kernel-OOM-Killer.

Für seine Arbeit setzt oomd auf zwei Methoden der Leistungsmessung: einmal mit "cgroups2" die neue Generation der Control Groups zur Leistungsüberwachung und -kontrolle. cgroups2 liefert laut Facebook genaue Leistungsdaten für jeden Prozess. Die zweite Metrik wurde von Facebook neu eingeführt und ist bisher noch nicht im Linux-Mainline-Kernel enthalten. Die sogenannte "Pressure Stall Information" setzt sich aus Prozessor-, Speicher- und I/O-Statistiken zusammen und soll daraus einen zuverlässigen Inidikator für die allgemeine Systemauslastung ableiten.

oomd ist modular aufgebaut und bietet die Möglichkeit, auf Prozesse zugeschnittene Strategien zu implementieren, um mit den zur Neige gehenden Ressourcen umzugehen. So wäre es etwa möglich, einen Prozess vor dem Beenden noch anzuweisen, seine Daten zu schreiben.

Ähnliche Artikel

comments powered by Disqus
Mehr zum Thema

Linux-Kernel 4.6 unterstützt OrangeFS und USB 3.1 SSP

Linus Torvalds hat das neueste Release des Linux-Kernels freigegeben.

Artikel der Woche

Registry für Docker-Images

Wer selber Docker-Images herstellt, braucht auch eine eigene Registry. Diese gibt es ebenfalls als Docker-Image, aber nur mit eingeschränkter Funktionalität. Mit einem Auth-Server wird daraus ein brauchbares Repository für Images. (mehr)
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Google+

Ausgabe /2018