Heim > Artikel > Betrieb und Instandhaltung > So überprüfen Sie die Systemlast unter Linux
Der Auslastungsstatus des Betriebssystems spiegelt die Ressourcennutzung der Anwendung wider, anhand derer die Engpässe der Anwendungsoptimierung ermittelt werden können.
Die durchschnittliche Systemlast bezieht sich auf die durchschnittliche Anzahl laufender oder nicht unterbrechbarer Prozesse.
läuft, was bedeutet, dass es sich um einen laufenden Zustand handelt, die CPU belegt, oder um einen Bereitschaftszustand, der auf die CPU-Planung wartet.
Nicht stören, Blockierung anzeigen, auf E/A warten
Empfohlen: [Linux-Video-Tutorial]
Im Linux-System müssen Sie dies tun Überprüfen Sie die Auslastung. Verwenden Sie im Allgemeinen den Uptime-Befehl (w-Befehl und Top-Befehl sind ebenfalls akzeptabel) *
1. Uptime-Befehl
$ uptime\ 16:33:56 up 69 days, 5:10, 1 user, load average: 0.14, 0.24, 0.29
Die obigen Informationen werden wie folgt analysiert:
16:33:56: Aktuelle Uhrzeit
bis 69 Tage, 5:10: Das System läuft seit 69 Tagen, 5 Stunden und 10 Minuten
1 Benutzer: Derzeit gibt es 1 am System angemeldeter Benutzer. Auslastungsdurchschnitt: 0,14, 0,24, 0,29: Die durchschnittliche Auslastung des Systems in den letzten 1 Minute, 5 Minuten und 15 Minuten.
Auslastungsdurchschnitt: 0,14, 0,24, 0,29: Der Durchschnitt Auslastung des Systems in den letzten 1 Minute, 5 Minuten und 15 Minuten
Durchschnittliche Auslastungsanalyse
Anzahl der logischen CPU-Kerne anzeigen:
$ grep 'model name' /proc/cpuinfo | wc -l\ 1\
Das laufende Ergebnis wird angezeigt dass es 1 logischen CPU-Kern gibt. Nehmen wir als Beispiel 1 CPU-Kern und gehen davon aus, dass die CPU bis zu 100 Prozesse pro Minute verarbeitet –
load=0, kein Prozess erfordert CPU
load=0,5, die CPU verarbeitet 50 Prozesse
load=1, die CPU hat 100 Prozesse verarbeitet. Zu diesem Zeitpunkt ist die CPU voll, aber das System kann immer noch reibungslos arbeiten
load=1,5, die CPU hat 100 Prozesse verarbeitet. und es sind noch 50 Prozesse übrig, die auf die CPU-Verarbeitung warten.
Damit das System reibungslos läuft, sollte der Lastwert 1,0 nicht überschreiten dass kein Prozess warten muss und alle Prozesse zum ersten Mal in kürzester Zeit verarbeitet werden können.
Offensichtlich ist 1,0 ein Schlüsselwert. Wenn dieser Wert überschritten wird, ist das System nicht in optimalem Zustand. Im Allgemeinen ist 0,7 ein idealer Wert.
Darüber hinaus hängt der Gesundheitszustand des Lastwerts auch von der Anzahl der CPU-Kerne im System ab. Wenn die Anzahl der CPU-Kerne 2 beträgt, sollte der Gesundheitszustand des Lastwerts 2 sein. und so weiter.
Der durchschnittliche Belastungswert innerhalb von 15 Minuten wird im Allgemeinen zur Bewertung der Belastung des Systems verwendet.
2. w-Befehl
$ w\ 17:47:40 up 69 days, 6:24, 1 user, load average: 0.46, 0.26, 0.25\ USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT\ lvinkim pts/0 14.18.144.2 15:55 0.00s 0.02s 0.00s w
Zeile 1: Wie Uptime eins.
Unter Zeile 2 die Liste der aktuell angemeldeten Benutzer.
3. Top-Befehl
$ top\ top - 17:51:23 up 69 days, 6:28, 1 user, load average: 0.31, 0.30, 0.26\ Tasks: 99 total, 1 running, 98 sleeping, 0 stopped, 0 zombie\ Cpu(s): 2.3%us, 0.2%sy, 0.0%ni, 97.4%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st\ Mem: 1922244k total, 1737480k used, 184764k free, 208576k buffers\ Swap: 0k total, 0k used, 0k free, 466732k cached\ \ PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND \ 1 root 20 0 19232 1004 708 S 0.0 0.1 0:01.17 init \ 2 root 20 0 0 0 0 S 0.0 0.0 0:00.01 kthreadd \ ...
Zeile 1: Wie Uptime eins.
Zeile 2: Informationen zur Prozessnummer.
Aufgaben: 99 insgesamt: Es gibt insgesamt 99 Prozesse
1 läuft: 1 Prozess belegt die CPU
98 schlafend: 98 ruhende Prozesse
0 gestoppt: 0 gestoppte Prozesse
0 Zombie: 0 Zombie-Prozesse
Zeile 3: CPU-Auslastung
uns (Benutzer): belegt durch nicht nette Benutzerprozesse CPU-Verhältnis
sy (System): Das Verhältnis des Kernels und der Kernelprozesse, die die CPU belegen
ni (nice): Das Verhältnis der CPU, die von Prozessen belegt wird, deren Prioritäten im Benutzerprozessraum geändert wurden
id (idle): CPU-Leerlaufverhältnis. Wenn das System langsam ist und dieser Wert hoch ist, bedeutet dies, dass der Grund für das langsame System nicht in einer hohen CPU-Auslastung liegt
wa (iowait): Das Zeitverhältnis der CPU, die auf die Ausführung von E/A-Vorgängen wartet. Dieser Indikator kann zur Behebung von Festplatten-E/A-Problemen verwendet werden, normalerweise in Kombination mit wa und id, um
hi (Hardware-IRQ) zu bestimmen: das Verhältnis von die Zeit, die die CPU für die Verarbeitung von Hardware-Interrupts benötigt
si (Software-Interrupts): Das Verhältnis der Zeit, die die CPU für die Verarbeitung von Software-Interrupts benötigt
st (steal): Die verstrichene Zeit, das Verhältnis von CPU-Zeit, die von anderen Aufgaben in der virtuellen Maschine belegt wird
Einige Situationen, die Aufmerksamkeit erfordern:
Der Benutzerprozess hat einen hohen Anteil und der E/A-Vorgang ist niedrig: Dies bedeutet, dass der Grund dafür ist Das langsame System ist, dass der Prozess viel CPU beansprucht. Dies geht normalerweise mit einer niedrigen Leerlaufquote einher, was bedeutet, dass die CPU nur sehr wenig Leerlaufzeit hat.
I/O operation wa ist niedrig und Leerlaufverhältnis id ist hoch: Die Möglichkeit eines CPU-Ressourcenengpasses kann ausgeschlossen werden.
I/O-Vorgang war hoch: Das bedeutet, dass I/O viel CPU-Zeit in Anspruch nimmt. Sie müssen die Nutzung des Swap-Speicherplatzes auf der Festplatte überprüfen Wenn der Speicher erschöpft ist, wird die Verwendung von Swap-Speicher erheblich beeinträchtigt. Bei Servern mit höheren Leistungsanforderungen wird daher generell empfohlen, den Swap-Speicherplatz zu deaktivieren. Wenn andererseits genügend Speicher vorhanden ist, wa jedoch hoch ist, müssen Sie prüfen, welcher Prozess viele E/A-Ressourcen beansprucht.
Weitere Belastungssituationen können in der Praxis flexibel beurteilt werden.
4. iostat-Befehl
Der iostat-Befehl kann die IO-Nutzung der Systempartition überprüfen
$ iostat \ Linux 2.6.32-573.22.1.el6.x86_64 (sgs02) 01/20/2017 _x86_64_ (1 CPU)\ \ avg-cpu: %user %nice %system %iowait %steal %idle\ 2.29 0.00 0.25 0.04 0.00 97.41\ \ Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn\ vda 1.15 3.48 21.88 21016084 131997520
Einige bemerkenswerte IO-Indikatoren:
Gerät: Festplattenname
tps: E/A-Übertragungsanfragen pro Sekunde
Blk_read/s: Wie viele Blöcke pro Sekunde gelesen werden, finden Sie im Befehl tune2fs
Blk_wrtn/s: Wie viele Blöcke werden pro Sekunde geschrieben
Blk_read: Wie viele Blöcke werden insgesamt gelesen
–Blk_wrtn: Wie viele Blöcke werden insgesamt geschrieben
5. iotop-Befehl
iotop Der Befehl ähnelt dem top-Befehl, zeigt jedoch den E/A-Status jedes Prozesses an, was zum Auffinden von Prozessen mit umfangreichen E/A-Vorgängen nützlich ist.
# iotop\ Total DISK READ: 0.00 B/s | Total DISK WRITE: 774.52 K/s\ TID PRIO USER DISK READ DISK WRITE SWAPIN IO> COMMAND \ 272 be/3 root 0.00 B/s 0.00 B/s 0.00 % 4.86 % [jbd2/vda1-8]\ 9072 be/4 mysql 0.00 B/s 268.71 K/s 0.00 % 0.00 % mysqld\ 5058 be/4 lvinkim 0.00 B/s 3.95 K/s 0.00 % 0.00 % php-fpm: pool www\ 1 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % init
Sie können die Lese- und Schreibintensität verschiedener Aufgaben sehen.
6. Sysstat-Tool
很多时候当检测到或者知道历史的高负载状况时,可能需要回放历史监控数据,这时 sar 命令就派上用场了,sar 命令同样来自 sysstat 工具包,可以记录系统的 CPU 负载、I/O 状况和内存使用记录,便于历史数据的回放。
sysstat 的配置文件在 /etc/sysconfig/sysstat 文件,历史日志的存放位置为 /var/log/sa\
统计信息都是每 10 分钟记录一次,每天的 23:59 会分割统计文件,这些操作的频率都在 /etc/cron.d/sysstat 文件配置。\
七、sar 命令
使用 sar 命令查看当天 CPU 使用:
$ sar\ Linux 2.6.32-431.23.3.el6.x86_64 (szs01) 01/20/2017 _x86_64_ (1 CPU)\ \ 10:50:01 AM CPU %user %nice %system %iowait %steal %idle\ 11:00:01 AM all 0.45 0.00 0.22 0.40 0.00 98.93\ Average: all 0.45 0.00 0.22 0.40 0.00 98.93
使用 sar 命令查看当天内存使用:
$ sar -r\ Linux 2.6.32-431.23.3.el6.x86_64 (szs01) 01/20/2017 _x86_64_ (1 CPU)\ \ 10:50:01 AM kbmemfree kbmemused %memused kbbuffers kbcached kbcommit %commit\ 11:00:01 AM 41292 459180 91.75 44072 164620 822392 164.32\ Average: 41292 459180 91.75 44072 164620 822392 164.32
使用 sar 命令查看当天 IO 统计记录:
$ sar -b\ Linux 2.6.32-431.23.3.el6.x86_64 (szs01) 01/20/2017 _x86_64_ (1 CPU)\ \ 10:50:01 AM tps rtps wtps bread/s bwrtn/s\ 11:00:01 AM 3.31 2.14 1.17 37.18 16.84\ Average: 3.31 2.14 1.17 37.18 16.84
更多 sar 用法,请 man sar 。
Das obige ist der detaillierte Inhalt vonSo überprüfen Sie die Systemlast unter Linux. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!