Atualmente executando algumas VMs e servidores 'baremetal'. Java está sendo executado em alta - mais de 400% + às vezes. Aleatoriamente, o servidor trava com o erro no console "java - bloqueado por mais de 120 segundos" - kjournald, etc.
Não consigo obter uma saída dmesg porque, por algum motivo, esse erro grava apenas no console, ao qual não tenho acesso, pois ele é hospedado remotamente. portanto, não consigo copiar um rastreamento completo.
Mudei o ambiente em que está - até mesmo o servidor físico e ainda está acontecendo.
Alterei hung_task_timeout_secs para 0, pois esse é um falso positivo conforme http://docs.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/6/html/Technical_Notes/deployment.html .
Além disso, o irqbalance não está instalado, talvez ajude?
este é o Ubuntu 10.04 64bit - o mesmo problema com o mais recente 2.6.38-15-server e 2.6.36.
problemas de CPU ou memória / nenhuma troca restante pode causar esse problema?
aqui está a mensagem do console:
[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
(se tiver sido registrado o suficiente), pois este comando imprime o buffer do anel de registro do kernel. Espero que suasyslog
instalação também faça o logon em algum lugar/var/log
, mas eu não sabia onde./var/log/dmesg
, mas poderá aparecer quando você executar odmesg
comando. O arquivo é criado durante o processo de inicialização e geralmente captura apenas as mensagens do kernel no momento da inicialização (que de outra forma acabariam rolando para fora do buffer de anel do kernel. Você também pode instalar / ativarsysstat
e examinar a utilização de recursos conforme relatado lá. Estou suspeitando de disco I / o / iowait, provavelmente relacionado com a troca (sysstat vai ajudar na identificação isso).Em seguida, confirme a alteração com:
resolveu para mim ....
fonte
Recentemente, passei por esse erro em um de nossos clusters de produção:
..
Na verificação adicional dos logs sar encontrados, a espera de E / S foi aumentada durante o mesmo tempo.
E, ao verificar o Hardware (discos físicos), foram detectados erros médios e outros erros SCSI em um dos discos físicos, que, por sua vez, estavam bloqueando as entradas / saídas, devido à falta de recursos para alocação.
Portanto, isso ocorreu devido a um erro de hardware em nosso cluster.
Portanto, seria bom, se você pudesse verificar o arquivo principal e também se o utilitário ipmi estiver presente, verifique o comando ipmiutil / ipmitool sel elist para verificar o problema.
Atenciosamente, VT
fonte
Você pode acessar a interface de monitoramento do seu provedor de nuvem e verificar se não excedeu o máximo de IOps especificado para o seu armazenamento, isso explicaria por que demorou muito tempo para liberar os dados do cache.
O número máximo de IOps está disponível na sua página de atributos de armazenamento.
fonte