Wenn top hohe Lasten anzeigt und Sie nicht wissen, ob der Prozess, der es verursacht, Prozessorzeit benötigt oder Netzwerk-E / A (nicht lokale E / A) ausführt, wie können Sie das herausfinden?
Auf unserem Server sehe ich hohe Werte für die Last, aber in Kombination mit 60% -70% Leerlauf und etwa 25% Benutzer. Ich würde gerne wissen, wie man solche Werte interpretiert, aber im Internet habe ich fast immer gelesen, dass Sie iostat verwenden können, um zu sehen, ob der Prozess Ihre Festplatten zerstört. Aber ich weiß schon sicher, dass das nicht der Fall ist. Der betreffende Prozess hat auch keine Probleme, seine Arbeit zu erledigen, aber die Last ist immer noch hoch.
Gibt es also eine Möglichkeit herauszufinden, welcher Teil durch das Warten im Netzwerk und welcher Teil durch die reale Prozessorzeit verursacht wird? Und was bedeutet "Leerlauf" oben?
Zur Verdeutlichung: Mit load meine ich die 3 Zahlen, die die durchschnittlichen Prozesse in der Warteschlange pro Kern angeben. Es gibt 8 Kerne auf dieser Maschine und die Anzahl steigt auf 25, was einer Last von 2,5 pro Kern entspricht.
htop
zum Einblicken in Prozesse. Insbesondere können Sie damit einen Prozess auswählen und dann mit dem l
Befehl alle geöffneten Dateien anzeigen, indem Sie Geräte und dergleichen lsof
einschließen IPv4
und IPv6
streamen. Wenn Sie strace
auf Ihrer Box installiert haben , können Sie auch Systemaufrufe und Signal-Debugging durchführen. Nicht gerade eine Antwort, aber ein anderes Werkzeug, das ich für das in Betracht ziehen würde, was Sie untersuchen möchten.
uptime
Ausgabe)?