Come diagnosticare i blocchi casuali?


14

Ubuntu sembra sempre bloccarsi nei primi ~ 15 minuti di quando viene avviato sulla mia macchina. A volte è nei primi 5 minuti, a volte ci vogliono 30 minuti, a volte non succede mai ...

Non riesco a riprodurlo in modo deterministico, ma succede comunque abbastanza spesso che probabilmente aspetto semplicemente che accada di nuovo.

Come posso diagnosticare il congelamento per capire la causa ?

Nota per i votanti:
no, questo non è un duplicato di questa domanda. Questa domanda riguarda la diagnosi , non un recupero temporaneo. Le risposte a questa domanda mi dicono solo come uccidere X Server, usare il Magic Combo per resettare il kernel, ecc .... che non mi aiuta a capire la causa.

Alcune informazioni:

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

  2. Il mouse a volte si sposta, ma l'interfaccia utente non risponde mai .

  3. Premere Ctrl+ Alt+ F1per entrare in un terminale non funziona.

  4. I Alt+ SysRqcombo fanno il lavoro ... e sembrano essere le uniche cose che il lavoro, a parte il mouse (che a volte può anche muoversi).

  5. Non sto esaurendo le risorse (molti gigabyte di RAM e lo spazio del file system sono gratuiti)

  6. Possibilmente hardware rilevante (dall'applicazione Hardware Lister):

    • Adattatore di rete wireless AR9285 (PCI-Express)

    • GT216 [GeForce GT 330M] (sto usando il driver Nouveau, che sembra funzionare bene)


Ho visto un commento altrove sul tentativo di accedere alla tua macchina da un'altra macchina - successo / fallimento almeno indicano la gravità del blocco - ottima domanda!
david.libremone,

Risposte:


7

I registri dovrebbero essere sempre il tuo primo porto di scalo. Controlla syslog per qualcosa di spiacevole:

less /var/log/syslog

Controlla anche i log di Xserver nel caso in cui ci siano indicazioni di un problema del driver grafico (anche se sembra meno probabile data la tua descrizione):

less /var/log/Xorg.0.log

Nel tuo caso particolare, questi passaggi potrebbero non generare nulla di interessante. In tal caso, sarei interessato a vedere cosa sta succedendo sul tuo sistema al momento dello sviluppo del problema. A tal fine, personalmente, creerei un registro temporaneo di topoutput a brevi intervalli, ad esempio ogni 5 o 10 secondi. Si spera che ciò possa rivelare se un processo si sta scatenando con risorse al momento del problema.

Si noti che esistono alternative, come passare a un altro tty con Ctrl+Alt+F1.. F6(per tornare alla GUI, è Ctrl+Alt+F7) ed eseguire i comandi in modo interattivo, o configurare un server SSH e accedere in remoto. Entrambi questi potrebbero essere imbarazzanti se la vostra macchina è più o meno non rispondente, quindi il mio suggerimento più imbarazzante di scrivere un file di registro (che potrebbe anche incontrare lo stesso problema, ma è più probabile che abbia successo).

Implicherebbe qualcosa del genere:

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

Ciò scriverebbe l' topoutput in un file di log in ~ / top.log ogni 10 secondi circa. Nota che questo registro aumenterebbe abbastanza se questo comando viene lasciato in esecuzione per un periodo prolungato, quindi tienilo d'occhio se la tua macchina inizia improvvisamente a comportarsi da sola! E rimuovi il registro con rm ~/top.logquando hai finito con esso. Si noti inoltre che l'esecuzione del comando sopra è una cosa una tantum; non si riavvierà dopo un riavvio.

Per leggere i registri generati dopo un arresto anomalo, devi utilizzare

less ~/top.log

e premi il Endtasto per arrivare in fondo. Saresti alla ricerca di processi con un valore CPU insolitamente alto o un valore RES insolitamente alto.

Potrebbe essere utile o meno, ma è utile avere informazioni.


Ah grazie Ho appena cercato /var/log/messagesma non esiste ... è un file vero o hai intenzione di guardare i log all'interno di quella directory? (In tal caso, quali registri?)
user541686

Mi scuso, sto pensando ad altre distribuzioni. Sono tutti leggermente diversi! Su Ubuntu l'equivalente è / var / log / syslog. Aggiornerò la risposta.
IlluminAce

Ah non preoccuparti, grazie. :) Ho appena guardato sysloge kern.log, in entrambi, ho cercato SysRq(dato che la prima cosa che faccio è svuotare il file system) ... ma nulla di rilevante sembra essere successo prima del flush, secondo i registri. Fammi controllare il registro xorg ...
user541686

Hmm, Xorgneanche nulla sembra risaltare nei registri. Inoltre non è sicuramente un problema di CPU (ecco perché ho detto che non è una mancanza di risorse), la mia CPU non viene quasi mai utilizzata durante il blocco. Il congelamento è completamente casuale ... a volte trascino una finestra e si blocca, a volte ho lasciato lì il computer per cinque minuti e quando torno è congelato. Ma è completamente estraneo alla mancanza di risorse. Comunque, buone informazioni, grazie.
user541686,

Avrei dovuto menzionare che c'è un leggero avvertimento nel registro di Xorg, in quanto potresti scoprire che i dati della sessione precedente sono stati sovrascritti dalla nuova sessione in cui ti trovi ora. In tal caso, è possibile visualizzare i dati originali avviando direttamente su un tty (dopo un arresto anomalo ...) e controllando il registro lì. Puoi avviare direttamente il terminale aggiungendo "testo" alla fine della riga di avvio del kernel - come descritto qui: askubuntu.com/questions/158382/… Al termine, riavvia o digita X con il servizio sudo lightdm start, o startx direttamente
IlluminAce
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.