GNU/Linux >> Tutoriales Linux >  >> Cent OS

"kernel:INFO:tarea {PROCESO}:{PID} bloqueado por más de 120 segundos". – Solución de problemas de CentOS/RHEL

El problema

Ocasionalmente INFO los mensajes se registran en /var/log/messages tales como:

Apr 19 03:33:22 host kernel: INFO: task kjournald:2046 blocked for more than 120 seconds.
Apr 19 03:33:22 host kernel: "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
Apr 19 03:33:22 host kernel: kjournald     D ffff810001004420     0  2046     49          2476  2044 (L-TLB)
Apr 19 03:33:22 host kernel:  ffff81013ce9fdd0 0000000000000046 0000000000000100 0000000000000000
Apr 19 03:33:22 host kernel:  0000000000000000 000000000000000a ffff81013c7d0820 ffffffff80309b60
Apr 19 03:33:22 host kernel:  001b51e0f255644a 0000000000000a88 ffff81013c7d0a08 0000000000000000
Apr 19 03:33:22 host kernel: Call Trace:
Apr 19 03:33:22 host kernel:  [] :jbd:journal_commit_transaction+0x16d/0x1066
Apr 19 03:33:22 host kernel:  [] autoremove_wake_function+0x0/0x2e
Apr 19 03:33:22 host kernel:  [] try_to_del_timer_sync+0x7f/0x88
Apr 19 03:33:22 host kernel:  [] :jbd:kjournald+0xc1/0x213
Apr 19 03:33:22 host kernel:  [] autoremove_wake_function+0x0/0x2e
Apr 19 03:33:22 host kernel:  [] keventd_create_kthread+0x0/0xc4
Apr 19 03:33:23 host kernel:  [] :jbd:kjournald+0x0/0x213
Apr 19 03:33:24 host kernel:  [] keventd_create_kthread+0x0/0xc4
Apr 19 03:33:24 host kernel:  [] kthread+0xfe/0x132
Apr 19 03:33:24 host kernel:  [] child_rip+0xa/0x11
Apr 19 03:33:24 host kernel:  [] keventd_create_kthread+0x0/0xc4
Apr 19 03:33:24 host kernel:  [] kthread+0x0/0x132
Apr 19 03:33:24 host kernel:  [] child_rip+0x0/0x11

¿Cuáles son estos mensajes y cuál es su impacto?

La solución

Este mensaje pretende que el proceso esté en estado "D" durante 120 segundos. En este ejemplo, kjournald estuvo esperando la finalización de journal_commit_transaction() durante más de 120 segundos, muy probablemente debido a la gran cantidad de E/S de algunos procesos, ya que la confirmación del diario es una función atómica.

En términos generales, esto podría ignorarse si los mensajes no se registran en /var/log/messages con tanta frecuencia. Esta es solo información que pretende que el proceso se atascó por algunas razones, lo que podría ocurrir debido a una gran cantidad de E/S, almacenamiento/desconexión de la red/retraso, etc.

Por lo tanto, lo que debemos hacer al principio después de encontrar este mensaje es verificar si se registra con frecuencia y luego si hubo un problema de red/almacenamiento en ese momento.

Conclusión

Estos mensajes generalmente significan que el sistema está experimentando una congestión en el disco o la memoria y que los procesos están privados de los recursos disponibles. Estos mensajes sirven como advertencia de que es posible que algo no esté funcionando de manera óptima. No necesariamente indican un problema grave y cualquier proceso bloqueado debería continuar eventualmente cuando el sistema se recupere. Puede intentar capturar la salida de los siguientes comandos durante el problema si es posible:

# top -n 5 -b > /tmp/top.out
# vmstat 1 50 > /tmp/vm.out
# iostat -x 2 10 > /tmp/io.out
# ps aux > /tmp/ps.out
# ps auxH > /tmp/psh.out
# sar -A > /tmp/sar.out
# free > /tmp/free.out
# lsof > /tmp/lsof.out

Estos resultados pueden ser útiles al diagnosticar el problema de bloqueo del sistema o el motivo detrás del mensaje INFO "tarea bloqueada durante más de 120 segundos".


Cent OS
  1. CentOS / RHEL:Cómo habilitar SSL para Apache

  2. Solución de problemas comunes de GUI/X-Window en CentOS/RHEL

  3. No se puede aumentar el valor "nproc" más de 1024 en CentOS/RHEL 6

  4. El cambio de nombre de host no se refleja en el informe sar para CentOS/RHEL

  5. Cómo comprobar los valores actuales de los parámetros de ajuste del kernel en CentOS/RHEL

ERROR:no se puede encontrar el árbol de fuentes del kernel para el kernel que se está ejecutando actualmente:CentOS / RHEL / AlmaLinux

Cómo instalar Varnish Cache 6 para Nginx en CentOS/RHEL 8

CentOS / RHEL 7:Cómo configurar kdump usando GUI

Cómo capturar más registros en /var/log/dmesg para CentOS/RHEL

Cómo configurar "max_report_luns" y "max_luns" en CentOS/RHEL 6 para escanear más de 512 LUN

CentOS/RHEL:Exclusión con Yum para actualizaciones del kernel