¿Cómo investigar la causa de la caída total?

19

Mi máquina Arch a veces se cuelga, de repente no responde de ninguna manera al mouse o al teclado. El cursor está congelado. Ctrl-Alt-Backsp no detendrá X11, y ctrl-alt-del no hace exactamente nada. Las gráficas de actividad de la CPU, la red y el disco en conky y icewm dejan de actualizarse. En pocos minutos se enciende el ventilador. La única forma de hacer que la computadora haga algo es apagar la alimentación.

Cuando se inicia, los monitores de temperatura de la CPU muestran de 70 a 80 ° C. Antes del bloqueo, generalmente hacía actividades de baja intensidad, como navegar por la web, alrededor de 50C.

Los registros no muestran nada especial en comparación con un apagado normal. El verificador de memoria funciona bien con cero defectos.

¿Cómo puedo investigar por qué colgó? ¿Hay información adicional que pueda encontrar para obtener una pista? ¿Hay algo menos drástico que el apagado para obtener algún tipo de acción, aunque solo sea un shell limitado o solo pitidos, pero podría dar una pista?

La máquina es una laptop Gateway P6860 de 17 "(voluminosa pero potente) y está ejecutando Arch 64bit, actualizada (a partir de marzo de 2011). Tuve Arch durante mucho tiempo sin este problema, me cambié a Ubuntu durante aproximadamente una semana luego se retiró a una nueva instalación de Arch. Fue entonces cuando comenzaron los ahorcamientos.

ACTUALIZACIÓN: Sí, seguro que se está sobrecalentando. A una temperatura, el mouse y el teclado dejan de funcionar, a veces se vuelven funcionales después de varios minutos de enfriamiento. A una temperatura más alta, suceden cosas peores, como la falta de respuesta total que incluye ignorar SysRq. Esta condición es seguida por un apagado repentino. He resuelto el problema comprando una nueva computadora 8D

DarenW
fuente

Respuestas:

7

La respuesta de Frederik sobre SysRq mágico y los volcados del kernel funcionarán si el kernel aún se está ejecutando, y no está realmente bloqueado. El kernel podría estar ocupado haciendo un bucle por alguna razón.

El hecho de que no responda a Ctrl-Alt-Del me dice que probablemente ese no sea el caso, y que la máquina se está bloqueando con fuerza. Eso significa una falla de hardware, o algo estrechamente relacionado, como un mal controlador.

Su prueba de verificación de memoria es buena, si la deja correr el tiempo suficiente. También debe probar otras cosas para probar y estresar el sistema, como StressLinux . Los puntos de referencia de larga duración también son buenos.

Otra cosa para intentar es arrancar el sistema con un CD en vivo de Ubuntu e intentar usar el sistema normalmente. Si regresar a Ubuntu temporalmente de esa manera no causa que el problema vuelva a ocurrir, existe una buena posibilidad de que no se trate de un hardware dañado, sino de una de las cosas relacionadas, como un controlador defectuoso o un núcleo configurado incorrectamente. Es muy posible que una distribución más popular como Ubuntu pueda tener una configuración de kernel más estable que una como Arch, simplemente debido a la mayor cantidad de máquinas que se han probado durante la fase de prueba de la distribución.

Warren Young
fuente
Creo que Ctrl-Alt-Delete es manejado por init, por lo que puede no funcionar incluso si el núcleo todavía lo hace. OTOH AFAIR el núcleo no espera las claves SysRq después de un pánico.
jpc
1
Eso es posible. Para distinguir los casos, poner ctrlaltdel harden su /etc/rc.localarchivo. Cuando el sistema se bloquea, intente Ctrl-Alt-Del. Si todavía no hace nada, sabe con certeza que el núcleo ya no se está ejecutando; Tiene una falla de hardware o controlador.
Warren Young
1
He tenido núcleos que responden a las teclas Magic SysRq a pesar de que entró en pánico. La configuración adecuada del servicio kdump debería garantizar que un sistema completamente encajado se inicie en el núcleo de kdump, por lo que eventualmente debería estar de vuelta.
jsbillings
1
Después de un rápido vistazo al código de manejo del teclado del kernel, me parece que Ctrl-Alt-Del y Magic SysRq se manejan al mismo nivel: si uno funciona, el otro lo hará. El problema init (1) / SIGINT es independiente y se trata configurando el manejo Ctrl-Alt-Del para hacer un reinicio completo, como se menciona en mi otro comentario.
Warren Young
11

En cuanto a la congelación, hay algunas opciones:

  • usando un puerto serie si su caja tiene uno para obtener el volcado allí agregando console=ttyS0opciones de arranque, como se describe aquí . Necesita una segunda máquina con un puerto serie y un cable de módem nulo para capturar el archivo de volcado.

  • usando netconsole para obtener el volcado en la red, mira aquí .

  • Usando kexec / kdump de esta manera obtienes un volcado local, mira aquí .

Con respecto al problema de apagado limpio, le sugiero que use la tecla mágica SysRq para 'sincronizar los discos', 'montarlos' y luego volver a 'B' en la casilla (las letras son las que debe escribir junto con alt -sysrq.

Editar: si publica el oops / trace en el lkml, debe usar una versión reciente (preferiblemente la última) del kernel y ningún módulo propietario.

Frederik Deweerdt
fuente
1
Me imagino muchas voces jóvenes que dicen "¿Qué es un puerto serie, abuelo?" De hecho, no creo que esta máquina tenga una.
DarenW
Recuerdo haber leído algo sobre SysReq hace unos años. ¡Ojalá pudiera googlearlo cuando la máquina esté muerta! Supongo que mejor me pongo a
trabajar