Der Load Average ist die Zahl der Prozesse, die laufen oder auf ihren Lauf warten, gemittelt über eine, fünf und fünfzehn Minuten. Für sich genommen sagt der Wert nichts: Lesbar wird er erst im Verhältnis zur Zahl Ihrer Kerne.

uptime
#  load average: 3.20, 2.85, 1.90
nproc
#  4

Was die Zahlen sagen

  • Load unter Ihrer Kernanzahl — es ist Kapazität übrig.
  • Load gleich Ihrer Kernanzahl — voll ausgelastet, nichts wartet. Das ist effizient, nicht kaputt.
  • Load deutlich darüber — Arbeit staut sich, und jede Anfrage ist langsamer als nötig.

Die drei Werte zusammen zeigen die Richtung. 8.0, 4.0, 2.0 ist eine Spitze, die gerade begonnen hat. 2.0, 4.0, 8.0 ist etwas, das sich bereits erholt.

Hohe Last ist nicht ein Problem

Ein Prozess, der auf eine langsame Platte wartet, zählt genauso zur Last wie einer, der CPU verbrennt. Sehen Sie nach, woraus die Last besteht, bevor Sie von irgendetwas mehr kaufen.

top -b -n 1 | head -20
iostat -x 2 3
  • Hoher %us — Ihr eigener Code. Profilieren Sie die langsame Seite.
  • Hoher %wa — Warten auf die Platte. Sehen Sie sich die Abfragen an und die Protokolle, die pro Anfrage geschrieben werden.
  • Hoher %sy — der Kernel hat zu tun, oft werden zu viele Prozesse erzeugt.
Eine Lastspitze, die mit einem Cronjob zusammenfällt, ist ein Planungsproblem, kein Kapazitätsproblem. Verschieben Sie den Job oder verteilen Sie ihn.