Wie diagnostiziere ich zufällige Einfrierungen?

14

Ubuntu scheint in den ersten ~ 15 Minuten nach dem Booten immer einzufrieren. Manchmal ist es in den ersten 5 Minuten, manchmal dauert es 30 Minuten, manchmal passiert es nie ...

Ich kann es nicht deterministisch reproduzieren, aber es passiert sowieso oft genug, dass ich wahrscheinlich nur darauf warte, dass es wieder passiert.

Wie kann ich das Einfrieren diagnostizieren , um die Ursache herauszufinden ?

Hinweis für Nahwähler:
Nein, dies ist kein Duplikat dieser Frage. Bei dieser Frage geht es um die Diagnose , nicht um eine vorübergehende Genesung. Die Antworten auf diese Frage sagen mir nur, wie ich den X-Server töte, den Magic Combo verwende, um den Kernel zurückzusetzen usw., was mir nicht hilft, die Ursache herauszufinden.

Einige Informationen:

  1. Ubuntu 11.04: 2.6.38-15-generisches # 66-Ubuntu SMP x86_64 GNU / Linux

  2. Die Maus bewegt sich manchmal , aber die Benutzeroberfläche reagiert nie .

  3. Das Drücken von Ctrl+ Alt+ F1, um in ein Terminal zu gelangen, funktioniert nicht.

  4. Die Alt+ SysRqCombos tun Arbeit ... und scheinen die einzigen Dinge , die Arbeit zu sein, abgesehen von der Maus (die manchmal auch bewegen).

  5. Ich habe keine Ressourcen mehr (viele Gigabyte RAM und Dateisystemspeicher sind frei)

  6. Möglicherweise relevante Hardware (aus der Anwendung Hardware Lister):

    • AR9285 Wireless-Netzwerkadapter (PCI-Express)

    • GT216 [GeForce GT 330M] (Ich verwende den Nouveau-Treiber, der anscheinend gut funktioniert.)

user541686
quelle
Ich habe an anderer Stelle einen Kommentar darüber gesehen, wie man versucht, von einem anderen Computer aus in Ihren Computer zu sshen - Erfolg / Misserfolg zeigen zumindest die Schwere des Einfrierens an - tolle Frage!
david.libremone

Antworten:

7

Die Protokolle sollten immer Ihre erste Anlaufstelle sein. Überprüfen Sie den Syslog auf ungewöhnliche Ereignisse:

less /var/log/syslog

Überprüfen Sie auch die Xserver-Protokolle, falls Anzeichen für ein Grafiktreiberproblem vorliegen (obwohl dies bei Ihrer Beschreibung weniger wahrscheinlich ist):

less /var/log/Xorg.0.log

In Ihrem speziellen Fall werfen diese Schritte möglicherweise nichts Interessantes auf. In diesem Fall würde mich interessieren, was zum Zeitpunkt der Problementwicklung auf Ihrem System vor sich geht. Zu diesem Zweck habe ich persönlich topin kurzen Abständen ein temporäres Protokoll der Ausgabe erstellt - etwa alle 5 oder 10 Sekunden. Dies sollte hoffentlich Aufschluss darüber geben, ob ein Prozess zum Zeitpunkt des Problems mit Ressourcen überlastet ist.

Beachten Sie, dass es Alternativen gibt, z. B. das Wechseln zu einem anderen Tty mit Ctrl+Alt+F1.. F6(um zur GUI zurückzukehren Ctrl+Alt+F7) und interaktive Befehle auszuführen oder einen SSH-Server zu konfigurieren und sich remote anzumelden. Beides könnte sein , unbeholfen , wenn Ihre Maschine ist moreorless nonresponsive, daher mein umständlicher Vorschlag ein Logfile zu schreiben (was könnte auch das gleiche Problem auftritt, ist aber eher gelingen).

Es würde so etwas beinhalten:

while [ 1 -eq 1 ] ; do top -b >> ~/top.log; sleep 10; done

Dies würde topetwa alle 10 Sekunden eine Ausgabe in eine Protokolldatei unter ~ / top.log schreiben . Beachten Sie, dass dieses Protokoll sehr groß wird, wenn dieser Befehl über einen längeren Zeitraum ausgeführt wird. Behalten Sie es also im Auge, wenn sich Ihr Computer plötzlich selbst verhält! Und entfernen Sie das Protokoll mit, rm ~/top.logwenn Sie damit fertig sind. Beachten Sie auch, dass die Ausführung des obigen Befehls eine einmalige Angelegenheit ist. es startet sich nach einem Neustart nicht von selbst neu.

Um die nach einem Absturz generierten Protokolle zu lesen, verwenden Sie

less ~/top.log

und Enddrücken Sie die Taste, um auf den Grund zu gelangen. Sie würden nach Prozessen mit einem ungewöhnlich hohen% CPU-Wert oder einem ungewöhnlich hohen RES-Wert suchen.

Es kann helfen oder auch nicht, aber es ist praktisch, Informationen zu haben.

IlluminAce
quelle
Ah danke. Ich habe nur gesucht, /var/log/messagesaber es existiert nicht ... Ist das eine tatsächliche Datei oder wollten Sie sich die Protokolle in diesem Verzeichnis ansehen? (Wenn ja, welche Protokolle?)
Benutzer541686
Ich entschuldige mich und denke an andere Distributionen. Sie sind alle auf subtile Weise unterschiedlich! Unter Ubuntu ist das Äquivalent / var / log / syslog. Ich werde die Antwort aktualisieren.
IlluminAce
Ah, keine Sorge, danke. :) Ich habe nur nach syslogund gesucht kern.log, und in beiden habe ich gesucht SysRq(da das erste, was ich tue, das Leeren des Dateisystems ist) ... aber den Protokollen zufolge scheint vor dem Leeren nichts Relevantes passiert zu sein. Lassen Sie mich das xorg-Protokoll überprüfen ...
user541686
Hmm, auch in den XorgProtokollen scheint nichts aufzufallen . Auch ist es definitiv kein CPU-Problem (deshalb habe ich auch erwähnt, dass es nicht an Ressourcen mangelt), meine CPU wird während des Einfrierens kaum genutzt. Das Einfrieren ist völlig zufällig ... manchmal ziehe ich ein Fenster und es friert ein, manchmal habe ich den Computer nur fünf Minuten dort gelassen und wenn ich zurückkomme, ist es eingefroren. Aber es hat nichts mit dem Mangel an Ressourcen zu tun. Trotzdem gute Infos, danke.
user541686
Ich hätte erwähnen sollen, dass das Xorg-Protokoll eine leichte Einschränkung enthält, da Sie möglicherweise feststellen, dass die Daten der vorherigen Sitzung von der neuen Sitzung, in der Sie sich gerade befinden, überschrieben wurden. In diesem Fall können Sie die Originaldaten anzeigen, indem Sie direkt (nach einem Absturz ...) auf ein Tty booten und dort das Protokoll überprüfen. Sie können direkt zum Terminal booten, indem Sie "text" am Ende der Kernel-Boot-Zeile einfügen - wie hier beschrieben: askubuntu.com/questions/158382/… Wenn Sie fertig sind, starten Sie entweder neu oder geben Sie X mit sudo service lightdm start ein. oder direkt startx
IlluminAce