Hier sind ein paar praktische Tipps für heute, die wahrscheinlich für immer in deiner Waffenkammer bleiben werden.
Als Linux-Systemadministrator ist es manchmal schwierig, sich vorzustellen, was genau ein Leistungsproblem verursacht. Sicher, es ist leicht genug zu sehen, welcher Prozess die CPU mit Tools wie „top“ oder seinem schickeren Bruder htop in Beschlag nimmt. Wenn es darum geht, die langfristige Belastung eines Computers herauszufinden oder zu verstehen, wie viel Speicher und Netzwerkbandbreite verwendet werden, kann dies eine etwas größere Herausforderung sein, wenn Sie die verfügbaren Tools nicht kennen.
CPU- und Speicherüberwachung mit (h)top
Verwenden Sie die F6-Taste in htop, um nach CPU oder Speicher usw. zu sortieren.
Analyse von CPU, Speicher und Festplatten-E/A über einen gemessenen Zeitraum
Verwenden Sie das vmstat-Tool, um die durchschnittliche CPU-, Arbeitsspeicher- und Festplatten-E/A-Last über einen gemessenen Zeitraum zu analysieren. Es sieht im Vergleich zu htop hässlich aus, aber sobald Sie die Anzeige verstanden haben, kann es sehr effektiv sein, zu verstehen, was mit dem System vor sich geht, außer der Netzwerknutzung. Beachten Sie auch, dass virtualisierte Gastserver möglicherweise nicht die wahren CPU- und E/A-Zahlen liefern, da diese basierend auf den Hypervisor-Einstellungen dynamisch variieren können.
Wie oben ist vmstat für jede Linux-Version fast allgegenwärtig verfügbar. Vmstat akzeptiert normalerweise zwei Argumente:die Abtastzeit und die Anzahl der zu messenden Abtastungen. Also zum Beispiel Laufen
vmstat 1 100
Erstellt jede Sekunde ein Sample und führt das Sample 100 Mal durch. Standardmäßig zeigt Ihnen vmstat die Ausgabe der CPU-Last, Speicher/Auslagerung und Block-I/O, wenn es seine 100 Samples ausführt, gibt es Ihnen die Durchschnittswerte über die Zeit-Samples für, in diesem Fall 100 Sekunden. Wenn Sie vmstat kontinuierlich ausführen möchten, verwenden Sie 0 als Beispielnummer. Weitere Informationen zur Syntax und Ausgabe von vmstat finden Sie hier (oder verwenden Sie man vmstat).
Schließlich können Sie diese Funktion als textbasierte Alternative in Ihre .bashrc oder in ein Shell-Skript einbauen, damit Sie sie in Intervallen mit dem Befehl at oder mit cron planen oder vielleicht mit einem anderen Skript kombinieren können, um weitere Analysen durchzuführen Zeit.
memcpu() { echo „— Top 10 CPU-Essensprozess —“; ps auxf | sortieren -nr -k 3 | head -10;
echo „— Top 10 Speicherfressprozesse —“; ps auxf | sortieren -nr -k 4 | Kopf -10; }
Netzwerkauslastung schnell analysieren
Die Überwachung der Netzwerkauslastung ist wohl genauso wichtig wie Ihre CPU und Ihr Arbeitsspeicher. Die Anzahl der eingebauten Tools, die dies tun, variiert zwischen den Distributionen. Es gibt eine Vielzahl von Tools, die Sie über yum oder apt-get in den jeweiligen Distributionen installieren können. Sie können es mit ntop oder nmon versuchen. Heute schauen wir uns nload an. Obwohl ntop sich selbst als „Top“-Befehl für Netzwerke bezeichnet, ist es ein webbasiertes Tool, das zwar gut ist, aber nicht so einfach in Gang zu bringen ist wie nload. Um nload auszuführen, führen Sie es einfach ohne Argumente aus und es wird die Last auf der aktuellen Netzwerkschnittstelle ausgeben.
Nload tut genau das, was es verspricht. Die historische Analyse macht es einfach zu sehen, wie ausgelastet das Netzwerk ist, leider zeigt Ihnen das nicht, welche Anwendung die Last verursacht, aber es gibt Apps, die auch dort helfen können, wie die ausgezeichnete Nethogs-App. Es sieht genauso aus und funktioniert genauso wie die Anzeige von Prozessen nach Namen und sortiert nach der Reihenfolge, welche Prozesse die meiste Bandbreite verbrauchen.
Fazit und weitere Optionen
Was ich hier gezeigt habe, sind einige großartige, schnelle Analysetools, die Sie aus einem möglicherweise schwer zu diagnostizierenden Problem herausholen. Wenn Sie eine längerfristige Analyse von fast jedem messbaren Aspekt benötigen, sollten Sie nach etwas wie Nagios suchen und es mit rrdtool kombinieren, um historische Trendanalysen grafisch darzustellen. Sehen Sie sich Cacti (rrd graphing) und Munin (ähnlich wie Nagios + rrdtool + Cacti in einem einfachen Paket) an.