Tengo un problema con Handbrake / ffmpeg. Después de ~ 5 minutos de transcodificación, la computadora se bloquea. Estoy bastante seguro de que es un pánico del núcleo porque el bloqueo de mayúsculas comienza a parpadear.
Hay algunas preguntas lógicas sobre qué hacer y algunas sobre errores específicos, pero realmente estoy detrás de una cosa: ¿qué sucedió justo antes de que todo muriera?
Lo he comprobado /var/log/kern.log
y todo lo que veo alrededor del tiempo es que me quedo en un DVD y luego, unos minutos después, el sistema se inicia. Sin errores, sin aviso de pánico.
¿Hay alguna forma de forzar el registro de pánico? Estoy bastante seguro de que puedo reproducir esto (sucedió el 100% de las veces que lo intenté recientemente), así que aunque prefiero que esto "simplemente funcione", estoy feliz de reiniciar algunas veces si eso significa que puedo Encuentra la causa del pánico.
Respuestas:
Todos los registros de su sistema en Ubuntu son manejados por lo
rsyslog
que mantiene su configuración en/etc/rsyslog.conf
y/etc/rsyslog.d/
.Para obtener más información sobre cómo configurar
rsyslog
y las posibles opciones, visite elrsyslog.conf man page
.Al abrir
/etc/rsyslog.d/50-default.conf
, puede ver que una de las líneas contiene*.*;auth,authpriv.none -/var/log/syslog*
Lo que significa que el archivo que está buscando en este caso es cualquiera de los enormes
/var/log/syslog
registros que probablemente tenga.Puede ver que el nombre del archivo también comienza con un
-
, esto significa que el archivo se almacena en caché antes de escribir, es genial, pero puede dejarlo con un registro incorrecto, lo que desea es que el registro se escriba tan pronto como haya un problema. Retire el tablero y reinicie o vuelva a cargarrsyslog
y luego haga que su computadora se bloquee nuevamente, verifique/var/log/syslog
.fuente
Si realmente es un kernel panic, entonces no se escribirá en un registro a través de métodos normales. Dado que el núcleo se ha bloqueado en este momento, escribir en el sistema de archivos es una operación arriesgada: ya no se puede confiar en gran parte del núcleo, por lo que las escrituras en los registros podrían estar arrojando basura al azar sobre su cargador de arranque.
En cambio, puede volcar el contenido de la memoria en su intercambio y luego depurarlo más tarde. Esto se conoce como caída del núcleo / volcado del núcleo.
Ubuntu Wiki tiene una CrashdumpRecipe que puede ser útil, aunque parece un poco desactualizada, no creo que demasiado debería haber cambiado.
fuente
linux-crashdump
; Este paquete todavía está disponible en todas las versiones.Puerto serial
El puerto serie es un simple mecanismo de comunicación de bajo nivel entre computadoras.
Ventajas:
Desventajas:
El puerto serie se ve así:
y en el RPI está disponible a través de GPIO.
Luego, si tiene el hardware requerido, conéctese desde la segunda computadora a la computadora principal con:
Esto realmente te da una concha.
Luego, en la máquina principal, inicie la operación que entra en pánico.
Cuando ocurre el pánico, el volcado de pánico se transmite a la segunda máquina, y puede verlo todo desplazándose hacia arriba en el terminal.
Otros metodos
También hay otros métodos que superan las limitaciones de hardware mencionadas anteriormente, a costa de ser más complejas y menos confiables. Métodos notables:
Vea también esta gran respuesta: https://unix.stackexchange.com/questions/60574/determining-cause-of-linux-kernel-panic
Paso de depuración
En última instancia, obtener resultados de pánico requiere que algunas funciones del núcleo funcionen, y cualquier funcionalidad del núcleo podría corromperse por el pánico.
Pero, ¿quién necesita el pánico si puede usar GDB en el núcleo? Si eres así de duro, mira:
Cada problema cae una vez que tiene visibilidad completa (¡y suficiente tiempo!).
fuente