Kernel Panic no descarga archivos de registro


8

Estaba jugando un juego en Steam y de repente me entró el pánico en el kernel. Apagué manualmente la computadora y reinicié en Linux Mint 17.1 (Cinnamon) de 64 bits, y fui a revisar mis archivos de registro /var/log/, pero no pude encontrar ninguna referencia o ningún tipo de mensaje relacionado con el kernel panic que sucedió

Es extraño por qué nunca arrojó el núcleo o incluso lo anotó en los archivos de registro. ¿Cómo puedo asegurarme de que siempre se descargue un núcleo en caso de que vuelva a ocurrir un pánico en el núcleo? No tiene ningún sentido por qué no se registró nada cuando ocurrió un pánico en el kernel. Mirando a su alrededor en Google, la gente sugiere leer a través de /var/log/dmesg, /var/log/syslog, /var/log/kern.log, /var/log/Xorg.logetc ... pero nada. Ni siquiera en el .Xsession-errorsarchivo tampoco.

Aquí hay algunas fotografías de la pantalla:
Kernel Panic (imagen2) Kernel Panic (imagen1)

Siempre podría tomar una foto de la pantalla cuando vuelva a ocurrir, pero solo quiero asegurarme de que pueda volcar el núcleo y crear un archivo de registro en un kernel panic.


1
has comprobado /var/crash?
Archemar

@Archemar No existe tal archivo o directorio.

Es muy poco probable que alguna vez encuentres información sobre una falla del núcleo .Xsession-errors.
G-Man dice 'Restablecer a Monica'

Respuestas:


6

Para asegurarse de que su máquina genera un archivo "núcleo" cuando ocurre una falla en el núcleo, debe confirmar la configuración "sysctl" de su máquina.

En mi opinión, la siguiente debe ser la configuración (mínima) en /etc/sysctl.conf:

kernel.core_pattern = /var/crash/core.%t.%p
kernel.panic=10
kernel.unknown_nmi_panic=1

Ejecutar sysctl -pdespués de hacer cambios en el /etc/sysctl.confarchivo. Probablemente también deberías mkdir /var/crashhacerlo si aún no existe.

Puede probar lo anterior generando un volcado manual utilizando la SysRqtecla (la combinación de teclas para volcar el núcleo es Alt+ SysRq+ C).


Esto parece ser un comienzo en algo. Tuve que escribir esto como una nueva entrada en sysctl ya que no estaba allí en el archivo. Lo hice Alt+SysRq+Ccon las teclas pero no hizo nada, solo mostró la pantalla. También estoy usando Laptop, por lo que las teclas pueden ser diferentes. Lo intenté fn+SysRq+Cpero hizo lo mismo que antes.

Comparta el resultado de "cat / proc / sys / kernel / sysrq". Es posible que sysrq esté desactivado en su máquina. Consulte: kernel.org/doc/Documentation/sysrq.txt para más detalles
shubham

la salida de eso me da 176

Edite el archivo /etc/sysctl.conf para incluir la línea -> kernel.sysrq = 1
shubham

1
@ user94959 ¿Funciona para usted?
shubham el

2

Cuando el núcleo entra en pánico, significa que algo salió mal en el núcleo. Escribir archivos de registro y volcados de núcleo requiere el uso de controladores para el dispositivo de almacenamiento en bloque (su disco) y el sistema de archivos (se debe asignar espacio y se debe actualizar el tamaño del archivo de registro). Dado que los servicios que proporciona el núcleo son necesarios para escribir archivos, y el núcleo sabe que está en un estado roto, no puede escribir los archivos ni registrar nada, porque ya no está en un estado seguro, así que cualquier operación podría empeorar las cosas y dañar / destruir su sistema de archivos. Por lo tanto, no puede hacer que el núcleo escriba en el registro ni volcar un volcado de núcleo cuando entra en pánico.

Ahora, lo que puede hacer, si lo desea, es configurar el sistema con un núcleo de manejo de bloqueos, que es un segundo núcleo cargado en la memoria al que se puede transferir el control si el núcleo principal falla. Dado que ese núcleo tiene controladores y demás, podría guardar un volcado de memoria por usted. Sin embargo, esta no es una configuración muy común, y se usa principalmente para sistemas de alta gama que requieren alta disponibilidad y donde un bloqueo es un problema muy grave que debe investigarse.

Vea, por ejemplo, la opción crashkernel en Kernel Crash Dump en ubuntu.com. (Tenga en cuenta que esta página dice que el mecanismo de volcado por caída del núcleo está habilitado de forma predeterminada, comenzando con Ubuntu 16.04).

Creo que el sistema en realidad guarda el volcado en un trozo de memoria reservado y luego se reinicia, y el kernel guarda la memoria reservada en el disco en el próximo arranque (ya que el nuevo kernel de arranque está en un estado sano y puede hacerlo).


La página en ubuntu.com describe el mecanismo de manera ligeramente diferente: dice que el núcleo se reinicia en un área reservada de memoria, por lo que la memoria que había estado utilizando antes de la interrupción (es decir, la memoria que desea volcar) permanecerá intacto. Y creo que no es tan exótico como lo haces sonar (ya que ahora está habilitado de forma predeterminada).
G-Man dice 'Restablecer a Monica'
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.