Wenn die Anforderungen eines laufenden Programms dazu führen, dass es übermäßig viele Ressourcen von Ihrem Server anfordert, kann es zu Leistungseinbußen und Systeminstabilität kommen.
Betriebszeit
Prüfen Sie die Auslastung Ihres Servers anhand der uptime
Befehl.
$ uptime
15:16:45 up 41 days, 2:35, 2 users, load average: 0.01, 3.01, 2.70
Das Beispiel zeigt die Ausgabe von uptime
. Als der Befehl um 15:16:45 ausgeführt wurde, war der Server 41 days 2 hours and 35 minutes
aktiv , es waren zwei Benutzer angemeldet, und die durchschnittliche Auslastung war 0.01
, 3.01
, und2.70
.
Der Lastdurchschnitt ist die Arbeit, die das System verrichtet. Die drei Zahlen zeigen die Lastdurchschnitte für die letzte Minute, 5 Minuten bzw. 15 Minuten. Ein Lastdurchschnitt von 1
spiegelt die volle Arbeitslast eines einzelnen Prozessors auf dem System wider. Eine Ladung von 2
auf einem System mit zwei CPUs bedeutet, dass diese CPUs maximal arbeiteten. Auf einem System mit vier CPUs ist das 2
spiegelt eine Arbeitslast wider, die etwa die Hälfte der verfügbaren Verarbeitungsleistung beansprucht.
Unter normalen Umständen soll die durchschnittliche Auslastung 70 % Ihrer gesamten CPU-Auslastung oder weniger betragen. Sie können die Anzahl der für Ihre Instanz verfügbaren CPUs überprüfen, indem Sie den folgenden Befehl ausführen:
$ grep processor /proc/cpuinfo | wc -l
Wenn die Lastmittelwerte zeigen, dass die Last zunimmt und höher ist als die Anzahl der CPUs, sollten Sie der Ursache nachgehen. Eine Last, die größer ist als die Anzahl der CPUs, bedeutet, dass das System Prozessoranfragen in eine Warteschlange stellt, was die Leistung verringert.
oben
Die top
Der Befehl zeigt Echtzeitinformationen zur Ressourcennutzung des Servers an. Die ersten Zeilen bieten eine Zusammenfassung der Ressourcenauslastung auf Ihrem System. Sie können die Liste der Prozesse nach CPU sortieren (P
) oder Speichernutzung (M
), wodurch Sie schnell die größten Anforderungen an die Ressourcen Ihres Servers erkennen können.
kostenlos
Der free
Der Befehl zeigt Informationen über die Speichernutzung des Servers an. Die ersten Zeilen bieten eine Zusammenfassung der Speichernutzung auf Ihrem System.
Die kostenlose -Spalte zeigt die Menge an freiem Speicher an, die im Allgemeinen minimal ist, da ungenutzter Speicher eine verschwendete Ressource ist. Die verfügbare column displayshow ist viel Speicher verfügbar, um bestehenden oder neuen Prozessen zuzuweisen.
vmstat
Die Größe des Systemspeichers ist einer der häufigsten einschränkenden Faktoren. Der Swap ist ein Bereich der Festplatte, in dem Daten in den freien physischen Speicher (RAM) verschoben werden, damit ein Prozess sie verwenden kann (nicht alle Server haben einen konfigurierten Auslagerungsbereich). Der Versuch, mehr zu tun, als der verfügbare Speicher zulässt, nicht, dass der Speicher knapp ist.
Wenn Sie Auslagerungsspeicher konfiguriert haben und vermuten, dass Ihrem Server der Standardspeicher ausgeht, können Sie vmstat
verwenden um zu zeigen, wie viel Swapping stattfindet.
Das folgende Beispiel zeigt die Statistiken des virtuellen Speichers eines Systems zehnmal in 5-Sekunden-Intervallen an.
$ vmstat 5 10
procs -----------memory------------- ---swap---- -----io---- --system-- -----cpu------
r b swpd free buff cache si so bi bo in cs us sy id wa st
2 3 138096 3904 140 584 14829 33632 16684 33633 1353 11562 64 9 16 11 0
7 4 156592 3800 132 492 53570 48618 54264 48622 2762 8148 20 5 50 24 0
2 7 258552 3040 128 668 37910 39822 39766 39826 2763 10861 43 8 23 26 0
7 4 261608 4312 116 776 41696 30854 42171 30855 2771 8631 26 6 33 35 0
3 4 259316 3824 112 576 44616 32316 44697 32320 2746 7087 15 4 52 28 0
0 5 257000 3376 116 880 25895 19847 26622 19848 1673 2877 1 2 68 29 0
4 4 263240 3384 124 1424 30018 21066 30497 21070 1732 4559 9 3 64 24 0
2 14 264656 5740 120 1812 27685 19030 28029 19031 2194 5345 11 3 51 35 0
6 3 338044 3764 132 1568 20087 31066 20470 31070 1798 9847 46 6 33 14 0
2 4 325904 4048 108 1172 13251 7190 13812 7190 1193 8838 38 5 24 32 0
Im Beispiel die kostenlose Spalte zeigt, dass der freie Speicherplatz nur etwa 4 MB beträgt.
Die si und also Spalten zeigen die Datenmenge, die zwischen dem Swap des Systems und seinem Speicher übertragen wird. In diesem Beispiel können Sie sehen, dass viele Daten verschoben werden. also zeigt die Datenmenge, die in den Swap verschoben wird, um Speicher freizugeben. si zeigt die Datenmenge, die aus dem Swap zurück in den Speicher gezogen wird. Dies geschieht, wenn ein Prozess die Daten zum Ausführen benötigt.
Wenn ein Server ständig Speicher ein- und auslagert, deutet dies darauf hin, dass die Belastung für die verfügbaren Ressourcen zu groß ist. Verwenden Sie die top
Befehl, um die Prozesse zu identifizieren, die die meisten Ressourcen verbrauchen.
Zusammenfassung
Wenn top
und vmstat
angeben, dass der Server alle seine Ressourcen verwendet, müssen Sie Ihre aktuelle Einrichtung optimieren. Beispielsweise können Sie einige Verarbeitungsjobs außerhalb der Spitzenzeiten ausführen, nicht benötigte Prozesse beenden und andere Prozesse neu konfigurieren, damit sie weniger Ressourcen verbrauchen. Sie sollten auch erwägen, die Größe Ihres Servers zu erhöhen, um Ihren Anforderungen besser gerecht zu werden.
Wenn Ihre Anwendung ausgeführt wird und fehlerfrei aussieht, überprüfen Sie, ob sie auf Netzwerkverbindungen lauscht. Sehen Sie, ob der Dienst auf dem richtigen Socket lauscht, indem Sie netstat
verwenden Befehl. Weitere Informationen finden Sie unter Überwachungsports mit netstat überprüfen.