Unter CentOS 6.5 wird es ausgeführt, du -sk /home
weil sh -c (du -sk \/home) 2>/dev/null
eine geplante Festplattennutzung für /home vorliegt, aber du
die CPU-Auslastung 100 % beträgt. Außerdem wird, bevor es überhaupt fertig ist, ein weiteres du ausgeführt, das sich anhäuft und das System in die Knie zwingt.
Ich habe die automatischen Prüfungen inzwischen deaktiviert, kann es aber du -sk /home
auch nicht manuell ausführen. du
Läuft in anderen Verzeichnissen einwandfrei (schnell) (obwohl /home das größte ist – 4912620 – es sollte nicht so lange dauern)
Ich möchte herausfinden, warum DU eine hohe CPU-Auslastung auf /home verursacht
UPDATE 1: Ein vollständiger Neustart (Host+Gast) hat das Problem gelöst.
AKTUALISIERUNG 2: Das Problem ist wieder aufgetreten. Während du läuft, ist die CPU-Auslastung fast zur Hälfte zwischen (us) und (sy) aufgeteilt. (wa) steigt nie über 1 %. Außerdem zeigt IOWAITnur Disk-Schreibvorgänge?
Antwort1
Ich kann Ihnen nicht genau sagen, warum, aber ich würde Folgendes tun, um einzugrenzen, was los ist:
cd /home
for i in * ; do echo "Starting in ${i}..." ; du -s ${i} ; done
Dadurch wird "du -s" für jeden Befehl im /home
Verzeichnis ausgeführt und Ihnen wird angezeigt, was ausgeführt wird. Dies setzt auch voraus, dass Sie sh oder bash als Shell verwenden.
Wenn Sie herausgefunden haben, welches Verzeichnis das Problem verursacht, wechseln Sie in ein weiteres Verzeichnis und sehen Sie, was dort passiert. Denken Sie auch daran, dass auf der Ebene, von der aus Sie die For-Schleife starten, nicht nach versteckten („Punkt-“) Verzeichnissen gesucht wird. Möglicherweise müssen Sie diese ebenfalls überprüfen oder den Glob-Ausdruck ändern, um sie einzuschließen.
Antwort2
Ich habe das Problem schließlich herausgefunden, als ich aufdieser Beitrag.
root> modprobe vhost_net root> echo vhost_net > /etc/modules
Aus irgendeinem Grund haben die Virtio-Schnittstellen den Treiber vorher nicht geladen. Jetzt ist alles in Ordnung.