100% CPU Runaway-Prozesse (NCurses?)

1202

Dies ist ein Problem, das ich seit Jahren hatte, aber bisher noch nichts darüber geschrieben hat.

Ich führe GRML aus, eine auf Debian Squeeze basierende Linux-Distribution, und gelegentlich laufen bestimmte Prozesse aus und verursachen eine CPU-Auslastung von 100%. Der einzige Weg, den ich normalerweise wissen kann, ist, wenn mein Temperaturmesser in meiner Statusleiste gelb wird. Manchmal führe ich jedoch Vollbildanwendungen aus, wenn es passiert, sodass ich es manchmal nicht fange und meinen Computer an der CPU verschwendet.

Die Prozesse, die ich mir von Kopf bis Ende vorstellen kann, sind folgende: abook, aumix, hnb, wyrd. Sie sind alle auf NCurses basierende Konsolenanwendungen, und es gibt auch andere, die auf NCurses basieren. Gibt es irgendwo in NCurses einen Fehler, den ich gepatcht habe oder so?

Dies geschah auch auf derselben Distribution mit den gleichen Anwendungen auf einem anderen Laptop mit denselben Konfigurationen.

Irgendwelche Ideen? Vielen Dank!

0
Was sagt Ihnen "top" über die einzelnen Programme? Dennis Williamson vor 13 Jahren 1
Nichts Besonderes, außer dass sie bei 99-100% CPU laufen. vor 13 Jahren 0
Versuchen Sie es oben. RAM-Footprint? Sind sie E / A blockiert? CarlF vor 13 Jahren 0

2 Antworten auf die Frage

1
Janne Pikkarainen

Versuchen Sie in strace -pjedem Fall pidof programname -o /tmp/wtf, lassen Sie es eine Weile laufen, stoppen Sie es mit ctrl + c und lesen Sie das Ergebnis / tmp / wtf mit weniger oder was auch immer Sie möchten . Sehen Sie, ob der Prozess mit dem Kopf gegen den Kopf schlägt und immer und immer wieder etwas unternimmt.

0

Ich habe dieses Problem endlich herausgefunden. Ich bemerkte ein Muster, als es passierte: nachdem ich Alt + Q (Alt + F4-Äquivalent) ein laufendes Terminal mit bestimmten auf Ncurses basierenden Programmen wie oben erwähnt hatte, anstatt sie "ordnungsgemäß" herunterzufahren.

Dies war sowohl bei WMII- als auch bei Ion3-Fenstermanagern der Fall, so dass dies nichts mit der WM zu tun hatte, was sich als falsch herausstellte.

In WMII habe ich die Tastenkombination geändert, um "slay" anstelle von "kill" in der folgenden Konfigurationszeile auszuführen, und alles funktioniert einwandfrei:

wmiir xwrite / client / $ 1 / ctl töten