Wirklich seltsames Problem hier. Ich bekomme immer wieder sehr unangenehme CPU-Spitzen, bei denen die CPU etwa 5 Minuten lang zu 80-90% über alle Kerne ausgelastet ist. Wenn ich mir conky in htop oder system monitor ansehe und nach% CPU sortiere, sehe ich keinen Prozess, der für so viel CPU-Auslastung verantwortlich ist.
Die einzigen Dinge, die ich seitdem geändert habe, sind:
- Ich bin zu Kernel Version 2.6.35 gewechselt (Home Compiled, von 2.6.24-1)
- Ich habe den Nvidia-Treiber 256.44 installiert (von 256.34)
Jetzt bin ich bereit, eines von beiden herunterzustufen, um das Problem zu finden, aber ich würde es vorziehen, dies so wissenschaftlich wie möglich zu tun und herauszufinden, was die CPU-Explosion verursacht, bevor ich ein Downgrade durchführe.
Bearbeiten: Mein genaues Problem sieht aus wie eine NVIDIA-Regression in ihrem neuesten Treiber. Andere Leute bekommen ähnliche Spitzen .
Antworten:
Es kann sich um einen Kernel-Thread handeln, der in den meisten Leistungsmonitoren standardmäßig ausgeblendet ist. In htop können Sie Kernel-Threads mit "K" (Shift + k) ausblenden / einblenden.
quelle
"Die CPU ist ungefähr 5 Minuten lang zu 80-90% über alle Kerne ausgelastet."
Diese Verwendung würde es Ihnen möglicherweise ermöglichen, den Schuldigen mithilfe von pidstat zu lokalisieren, das im sysstat-Paket verfügbar ist.
Einfach ausführen
pidstat -u | sort -nr -k 7,7 | head -10
und der Prozess, der die meiste CPU verwendet hat, sollte die oberste Zeile sein.quelle
Ich würde versuchen, die Ursache für das Problem mit einem Shell-Skript zu finden:
Das Skript hat zwei Variablen
MAXLOAD
undCURRLOAD
. Die erste sollte eine hohe Last multipliziert mit 100 sein. Wenn Sie also auf eine Spitze stoßen und sehen, dass die Systemlast auf 2 oder 3 steigt, sollten SieMAXLOAD
einen Wert um 200 einstellen. Nimmt$CURRLOAD
die Ausgabe vonuptime
, sucht nach der Last und Entfernt den Punkt sowie führende Nullen.Wenn die Last irgendwann zu hoch ist, werden die fünf Prozesse mit der höchsten CPU-Auslastung ausgedruckt und an gesendet
[email protected]
.Dieses Skript soll Ihnen helfen, den Grund für eine Spitze zu finden, und wenn Sie es wissen, können Sie Ihr Problem möglicherweise beheben.
quelle
So erhalten Sie eine Ausgabe von oben, die Sie speichern können: top -b -n1
Wenn Sie dies in einen Cronjob stecken, können Sie sich die minutiöse Prozessliste ansehen, auch nachdem das Problem behoben wurde. Beispiel für einen Crontab-Eintrag:
Dadurch wird es in einer Datei pro Minute in / tmp gespeichert
quelle
Es gibt einige kürzlich behobene Fehler, die dieses Problem beheben könnten. Wenn Sie Ubuntu ausführen, würde ich empfehlen, beim Ubuntu-Kernel zu bleiben, um die Patches durch regelmäßige Updates zu erhalten. Ich würde empfehlen, Lucid für die Unterstützung und Stabilität zu installieren. Sie können sich für Maverick entscheiden, wenn Ihnen Funktionen bekannt sind, die nicht in Lucid enthalten sind und die Sie benötigen.
quelle
Ich denke, das ist ein Kernel-Problem. Ich würde zu einer offiziell getesteten Version zurückkehren.
quelle