Exécute actuellement quelques machines virtuelles et serveurs «baremetal». Java fonctionne à un niveau élevé - plus de 400% + parfois. Au hasard, le serveur se bloque avec l'erreur dans la console "java - bloqué pendant plus de 120 secondes" - kjournald, etc.
Je ne peux pas obtenir une sortie dmesg car pour une raison quelconque, cette erreur écrit uniquement sur la console, à laquelle je n'ai pas accès car elle est hébergée à distance. par conséquent, je ne peux pas copier une trace complète.
J'ai changé l'environnement sur lequel il se trouve - même le serveur physique et cela continue.
J'ai changé hung_task_timeout_secs à 0, car il s'agit d'un faux positif selon http://docs.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/6/html/Technical_Notes/deployment.html .
De plus, irqbalance n'est pas installé, peut-être que cela aiderait?
il s'agit d'Ubuntu 10.04 64bit - même problème avec les derniers serveurs 2.6.38-15 et 2.6.36.
des problèmes de processeur ou de mémoire / aucun échange ne peuvent-ils provoquer ce problème?
voici le message de la 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
(s'il a été enregistré assez récemment) car cette commande imprime le tampon d'anneau de journalisation du noyau. J'espère que votresyslog
configuration le connectera également quelque part/var/log
, mais je ne savais pas où./var/log/dmesg
, mais peut apparaître lorsque vous exécutez ladmesg
commande. Le fichier est créé pendant le processus de démarrage et ne capture généralement que les messages du noyau au démarrage (qui autrement finiraient par défiler hors du tampon d'anneau du noyau. Vous pouvez également installer / activersysstat
et regarder l'utilisation des ressources comme indiqué ici. Je soupçonne que le disque I / O / iowait, probablement liés à l'échange (sysstat aidera à identifier cela).Validez ensuite le changement avec:
résolu pour moi ....
la source
J'ai récemment rencontré cette erreur dans l'un de nos clusters de production:
..
Après vérification supplémentaire des journaux sar Trouvé, l'attente d'E / S a été augmentée pendant la même période.
Et lors de la vérification du matériel (disques physiques), des erreurs moyennes et d'autres erreurs SCSI se sont connectées à l'un des disques physiques, ce qui bloquait les E / S, en raison du manque de ressources à allouer.
Cela était donc dû à une erreur matérielle, dans notre cluster.
Donc, ce serait bien, si vous pouviez vérifier le fichier principal et aussi si l'utilitaire ipmi est là, vérifiez la commande selmiist ipmiutil / ipmitool pour vérifier le problème.
Cordialement, VT
la source
Vous pouvez accéder à l'interface de surveillance de votre fournisseur de cloud et vérifier si vous n'avez pas dépassé le nombre maximal d'E / S spécifié pour votre stockage, ce qui expliquerait pourquoi il a fallu beaucoup de temps pour vider les données du cache.
Le nombre maximal d'E / S est disponible sur votre page d'attributs de stockage.
la source