Der Grund für die hohe durchschnittliche Auslastung (LA) ist nicht nachvollziehbar.

Der Grund für die hohe durchschnittliche Auslastung (LA) ist nicht nachvollziehbar.

Ich habe einen Bare-Metal-Server mit 32 Kernen/64-Takt-CPU und 64 GB RAM. Ubuntu 18.04 an Bord. Führt pgsql aus (geringe Belastung), ~250 Docker-Container mit Python für die Netzwerkarbeit. htop zeigt mir LA 120 (1/5/15 Min.), aber ich kann den Grund nicht finden.

  • htop zeigt ~50 % Auslastung aller Kerne
  • Habe 12 GB freien RAM
  • vnstat -l zeigt 25 % Auslastung des Netzwerkadapters an (in der Zusammenfassung beider Seiten)
  • Top-Show WA (Iowait) 0,0
  • iostat zeigt nichts Geschriebenes auf Festplatten an, iotop zeigt manchmal Prozesse mit Schreibgeschwindigkeiten von 10–20 KB/s pro Sekunde an.
  • Oben werden keine roten Linien angezeigt. Alles grau (gut).
  • „ps -eo stat | grep -c D“ und „ps -eo stat | grep -c D“ zeigen „1“

Ich glaube, ich habe alles überprüft – CPU, RAM, Festplatte, Netzwerk. Ich verstehe die Ursache für große LA – Container mit Python. Aber ich möchte einen Engpass für die Optimierung finden. Wo kann ich mehr über die Ursache für große LA erfahren?

Aktualisierung:Noch ein paar zusätzliche Dinge. Ich denke, irgendwo liegt ein Engpass in der CPU, denn wenn ich PyPy in Conrainern verwende, geht LA ​​runter, wenn ich einfaches Python verwende, wächst LA. Aber ich kann das nicht verstehen, weil htop immer eine CPU-Auslastung von <100 % anzeigt.

Antwort1

Die durchschnittliche Linux-Auslastung ist die Anzahl der Prozesse, die aktuell (aktiv) ausgeführt werden oder auf ihre Ausführung warten.

Sie haben 250 Docker-Container plus Systemprozesse und Ihre Überwachungstools. Das ist einfach eine riesige Menge an Prozessen. Es hängt ein wenig davon ab, was in Ihren Containern läuft und wie oft Prozesse aktiviert werden, um etwas zu tun. Wenn Sie die Anzahl der Docker-Container um 50 % reduzieren und die durchschnittliche Auslastung ebenfalls um 50 % sinkt, haben Sie den Schuldigen.

verwandte Informationen