Linux IO Problem

ein Linux-Server in letzter Zeit abnormal, Es war ziemlich langsam und viele Programme hatten keine

Reaktion sogar gestoppt. offensichtlich ein paar tage, Wir haben festgestellt, dass die Last zu hoch ist

hoch der Hauptgrund ist, dass die Festplatten-E/A in der Nähe ist 100%.

In diesem Artikel erfahren Sie, wie Sie die Festplattenlast überprüfen können, um das gleiche Problem schneller zu lösen.

 

zuerst, ausführen oben Befehl.

oben – 16:15:05 oben 6 Tage, 6:25, 2 Benutzer, Durchschnittslast: 1.45, 1.77, 2.14

Aufgaben: 147 gesamt, 1 Laufen, 146 Schlafen, 0 gestoppt, 0 Zombie

Zentralprozessor(s): 0.2% uns, 0.2% seine, 0.0% ni, 86.9% Ich würde, 12.6% wa, 0.0% Hallo, 0.0% und

Mem: 4037872k insgesamt, 4003648k verwendet, 34224k frei, 5512k Puffer

Tauschen: 7164948k insgesamt, 629192k verwendet, 6535756k frei, 3511184k zwischengespeichert

 

Sie finden “12.6%” wa leicht,Wenn Sie feststellen, dass wa größer ist als? 30%, es zeigt eine hohe IO-Last an.

 

Zweitens, Du kannst rennen “iostat -x 1 10

Aber Sie müssen iostat durch Ausführen installieren “yum installiere sysstat” wenn iostat

kann nicht gefunden werden.

Durchschnittliche CPU: %Benutzer %nice %sys %iowait %idle

0.00 0.00 0.25 33.46 66.29

Gerät: rrqm/s wrqm/s r/s w/s rsec/s wsec/s rkB/s wkB/s avgrq-sz avgqu-sz wait svctm %util

sda 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00

sdb 0.00 1122 17.00 9.00 192.00 9216.00 96.00 4608.00 123.79 137.23 1033.43 13.17 100.10

sdc 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00

check% nützlich 100.10 %Leerlauf 66.29

wenn “%sinnvoll” ist geschlossen für 100%,es bedeutet, dass zu viele E/A-Anforderungen vorliegen,I/O hat bereits Volllast ,

und es kann einen Engpass des Speichersystems geben.

Wenn Leerlauf gleich ist 70% ,dies zeigt an, dass IO sess hoch ist, Es gibt viele Wartezeiten.

du kannst kommunizieren

 

Wenn Sie die E/A-Leistung einer Festplatte testen müssen ,Sie können den folgenden Befehl ausführen

time dd if=/dev/zero bs=1M count=2048 of=direct_2G

Dieser Befehl kann eine Datei mit einer Größe von 2 GB im aktuellen Verzeichnis erstellen, Wir können I/O testen

während der Dateierstellung laden.

Das folgende Skript kann den E/A-Status zu Spitzenzeiten überprüfen.

monitor_io_stats.sh

#!/bin/sch

/etc/init.d/syslog stop

Echo 1 > /proc/sys/vm/block_dump

Schlaf 60

dmesg | awk’/(LESEN|SCHREIBEN|schmutzig)/ {Prozess[$1]++} ENDE {zum (x in Bearbeitung) \

Druckvorgang[x],x}’ |sortieren nein |awk ‘{drucken $2 ” ” $1}’ | \

Kopf -n 10

Echo 0 > /proc/sys/vm/block_dump

/etc/init.d/syslog start

 

Quell-URL http://www.cnblogs.com/mfryf/archive/2012/03/12/2392012.html

Hinterlasse eine Antwort