Actualmente ejecuta algunos servidores VM y 'baremetal'. Java se está ejecutando en alto: más del 400% a veces. Aleatoriamente el servidor se cuelga con el error en la consola "java - bloqueado por más de 120 segundos" - kjournald, etc.
No puedo obtener una salida dmesg porque, por alguna razón, este error solo se escribe en la consola, a la que no tengo acceso ya que está alojado de forma remota. Por lo tanto, no puedo copiar un rastro completo.
Cambié el entorno en el que está, incluso el servidor físico y todavía está sucediendo.
Cambié hung_task_timeout_secs a 0 en caso de que sea un falso positivo según http://docs.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/6/html/Technical_Notes/deployment.html .
Además, irqbalance no está instalado, ¿tal vez ayudaría?
Esto es Ubuntu 10.04 64 bits, el mismo problema con el último servidor 2.6.38-15 y 2.6.36.
¿podrían problemas de la CPU o de la memoria / no queda intercambio causar este problema?
Aquí está el mensaje de la consola:
[58Z?Z1.5?Z840] INFUI task java:21547 blocked for more than 120 seconds.
[58Z?Z1.5?Z986] "echo 0 > /proc/sgs/kernel/hung_task_timeout_secs" disables this
message.
[58Z841.5?Z06Z] INFUI task kjournald:190 blocked for more than 120 seconds.
[58Z841.5?Z336] "echo 0 > /proc/sgs/kernel/hung_task_timeout_secs" disables this
message.
[58Z841.5?Z600] INFUI task flush-202:0:709 blocked for more than 120 seconds.
[58Z841.5?Z90?] "echo 0 > /proc/sgs/kernel/hung_task_timeout_secs" disables this
message.
[58Z841.5?3413] INFUI task java:21547 blocked for more than 120 seconds.
[58Z841.5?368Z] "echo 0 > /proc/sgs/kernel/hung_task_timeout_secs" disables this
message.
[58Z961.5?ZZ36] INFUI task kjournald:60 blocked for more than 120 seconds.
[58Z961.5?Z6Z5] "echo 0 > /proc/sgs/kernel/hung_task_timeout_secs" disables this
message.
[58Z961.5?31ZZ] INFUI task flush-202:0:709 blocked for more than 120 seconds.
[58Z961.5?3393] "echo 0 > /proc/sgs/kernel/hung_task_timeout_secs" disables this
message.
dmesg
(si fue registrado recientemente) ya que este comando imprime el buffer del anillo de registro del kernel. Esperemos que susyslog
configuración también lo registre en algún lugar/var/log
, pero no podría saber dónde./var/log/dmesg
, pero puede aparecer cuando ejecutas eldmesg
comando. El archivo se crea durante el proceso de arranque y, en general, solo captura los mensajes del kernel en el momento del arranque (que de lo contrario eventualmente se desplazarían fuera del búfer del anillo del kernel. También podría instalar / habilitarsysstat
y ver la utilización de los recursos como se informó allí. Sospecho que el disco I / O / iowait, probablemente relacionado con el intercambio (sysstat ayudará a identificar esto)Luego comete el cambio con:
lo resolvió para mí ...
fuente
Recientemente pasé por este error en uno de nuestros clústeres de producción:
..
En la verificación adicional de los registros de sar Se encontró que la espera de E / S se incrementó durante el mismo tiempo.
Y al comprobar que el hardware (discos físicos) vio errores medios y otros errores SCSI habían iniciado sesión en uno, los discos físicos, que a su vez estaban bloqueando las E / S, debido a la falta de recursos para asignar.
Esto se debió a un error de hardware en nuestro clúster.
Por lo tanto, sería bueno, si pudiera verificar el archivo principal y también si la utilidad ipmi está allí, verifique el comando ipmiutil / ipmitool sel elist para verificar el problema.
Saludos, VT
fuente
Puede ir a la interfaz de monitoreo de su proveedor de la nube y verificar si no excedió las IOps máximas especificadas para su almacenamiento, eso explicaría por qué tardó tanto tiempo en vaciar los datos de la memoria caché.
El IOps máximo está disponible en su página de atributos de almacenamiento.
fuente