Ungefähr zweimal pro Woche wird die gesamte grafische Oberfläche ohne Vorwarnung für etwa 10 bis 20 Sekunden gesperrt, während ich einfache Aufgaben wie das Surfen im Internet oder das Schreiben eines Papiers erledige. In diesem Fall reagieren GUI-Elemente nicht auf Maus- oder Tastatureingaben, und das Systemmonitor-Applet zeigt eine 100% ige IOWait-Prozessorauslastung an.
Heute war das GNOME-Terminal endlich geöffnet, als das Problem begann. Obwohl andere Anwendungen wie Google Chrome, Firefox, GNOME Do und GNOME Panel nicht reagierten, war das Terminal verwendbar. Ich lief iotop
und beobachtete, dass Befehle benannt wurden [flush-8:16]
und [jbd2/sdb2-8]
abwechselnd 99,99% IO verwendeten.
Was sind diese und wie kann ich verhindern, dass sie zu einer Unempfindlichkeit der Benutzeroberfläche führen?
Einzelheiten
$ mount | grep ^/dev
/dev/sda1 on / type ext4 (rw,noatime,discard,errors=remount-ro,commit=0)
/dev/sdb2 on /home type ext4 (rw,commit=0)
$ cat /proc/swaps
Filename Type Size Used Priority
/dev/sdb3 partition 1052252 0 -1
/dev/sda
ist ein OCZ-VERTEX2 und /dev/sdb
ist ein WD10EARS . Hier ist dumpe2fs /dev/sdb2
und smartctl /dev/sdb --all
.
Ich sehe nichts Ungewöhnliches in dmesg
oder /var/log/syslog
.
quelle
flush
schreibt den RAM-Puffer / Cache auf die Festplatte, und jbd2 befasst sich mit dem ext4-Journal./dev/sda
- welche Festplatte enthält was? Wie "root auf sda, home auf sdb"?dmesg
auf Festplattenfehler.Antworten:
Ich werde eine Theorie wagen:
/dev/sdb1
ist vielleicht Swap Space?Wenn etwas, das für die grafische Oberfläche von zentraler Bedeutung ist, auf die Festplatte ausgelagert wurde, kann die GUI erst fortgesetzt werden, wenn diese Daten empfangen wurden. Wenn die Swap-Disk im Ruhezustand ist, bedeutet dies, dass sie stecken bleibt, bis die Disk antwortet.
Ich denke, dies würde zu einer vorübergehenden Sperrung führen, und der Zeitraum von 10 bis 20 Sekunden entspricht der Zeit, die eine schlafende Festplatte benötigt, um zu reagieren. Das Terminal reagiert vermutlich immer noch, da es sich bereits im RAM befindet.
Einige Terminal-Tools zur Erforschung der Theorie:
hdparm -C /dev/sdX
sagt Ihnen, ob eine Festplatte schläft:active/idle
bedeutet, dass es läuft. Im Zustandstandby
odersleeping
es hat aufgehört sich zu drehen und es wird eine Weile dauern, bis es wieder hochfährt. Sieheman hdparm
.free -m
gibt an, wie viel Swap Space verwendet wird:"Swap:" ist die relevante Zeile. In diesem Beispiel ist ein Swap von 6,2 GB verfügbar und es wird nichts verwendet.
Wenn dies das Problem ist, können Sie entweder Swap auf SDA verschieben oder Spindowns für SDB deaktivieren.
quelle
free -m
Während der Sperrung wurde bestätigt, dass 0 MB Swap verwendet wurden.