Jak ustalić, dlaczego komputer się zawiesił?

28

Wczoraj prowadziłem bashskrypt przez około 10 godzin. Kiedy poszedłem użyć komputera, to się zamknęło.

  • Mam komputer Eee PC z Debianem.
  • Ekran był nadal widoczny, ale mysz lub klawiatura nie działały.
  • Próbowałem CtrlAltDelete, CtrlAltBackspace, CtrlAltF1, ale bez skutku.
  • Lampka dysku twardego nie wykazała żadnej aktywności.

Jak mogę ustalić, co poszło nie tak? Jakie dzienniki mogę sprawdzić?

Wioska
źródło

Odpowiedzi:

18

Wszystkie wiadomości można znaleźć /var/log/syslogw innych /var/log/plikach. Stare wiadomości są /var/log/syslog.1, /var/log/syslog.2.gzitd., Jeśli jest zainstalowany logrotate.

Jeśli jednak jądro naprawdę się zablokuje, istnieje małe prawdopodobieństwo, że znajdziesz jakiś powiązany komunikat.

Możliwe, że blokuje się tylko serwer X. W takim przypadku zwykle nadal można uzyskać dostęp do komputera przez sieć za pośrednictwem ssh (jeśli go zainstalowałeś). Istnieje również klawisz Magic SysRq, który umożliwia odrodzenie klawiatury, tak aby wypróbowane skróty również mogły działać.

Jofel
źródło
9

możesz odczytać /var/log/dmesgwszelkie problemy z oprogramowaniem, takie jak [ kernel], jeśli był to błąd usługi, możesz odczytać dziennik usługi, na przykład apache/var/log/apache/error.log

Wydaje mi się, że niektóre błędy sprzętowe nie mogą mieć dziennika

tawfekov
źródło
3

Nie mogę podać dokładnych poleceń, które mogą pomóc w uzyskaniu danych. Ale ogólne podejście do znalezienia winowajcy polega na tym, jak przechwytywać dane wyjściowe poleceń w regularnych odstępach czasu. Pomoże to, ponieważ dane z komend będą wykonywane przed awarią systemu.

Możesz przechwytywać dane wyjściowe tych poleceń, planując je za pomocą crontab ( Poradnik: Dodawanie zadań do crona w systemie Linux lub UNIX? ).

Alternatywnie istnieje usługa SeaLion - narzędzie do monitorowania i debugowania serwera Linux, w którym można planować polecenia i sprawdzać status systemu online.

jsist
źródło