目前运行一些VM和’bareMetal’服务器.
Java正在高速运行 – 有时超过400%.
随机服务器因控制台中的错误而挂起“java – 阻塞超过120秒” – kjournald等.
Java正在高速运行 – 有时超过400%.
随机服务器因控制台中的错误而挂起“java – 阻塞超过120秒” – kjournald等.
我无法获得dmesg输出,因为由于某种原因,此错误仅写入控制台,我无权访问,因为它是远程托管的.因此我无法复制完整的痕迹.
我改变了环境 – 即使是物理服务器,它仍然在发生.
我将hung_task_timeout_secs更改为0,这是因为http://docs.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/6/html/Technical_Notes/deployment.html是误报.
另外,没有安装irqbalance,也许会有所帮助?
这是Ubuntu 10.04 64bit – 与最新的2.6.38-15服务器和2.6.36相同的问题.
可能cpu或内存问题/没有交换左导致此问题?
这是控制台消息:
[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.
解决方法
是的,它可以.
这意味着相当明确:内核无法安排任务120秒.这表明资源不足,通常围绕磁盘访问.
irqbalance可能会有所帮助,但这听起来并不明显.您能否在dmesg中向我们提供此消息的周围环境,特别是其后的堆栈跟踪?
而且,这不是误报.这并不是说任务永远挂起,声明完全正确.这并不意味着它对您来说是一个问题,如果您没有注意到任何用户影响,您可以决定忽略它.
这不能由以下原因引起:
> cpu问题(或者更确切地说,这将是一个疯狂的不可能的硬件故障),
>一个内存问题(非常不可能的硬件故障,但不会多次发生;不会缺少RAM,因为一个进程会被扼杀),
>缺乏互换(再次成为杀手).
在某种程度上,您可能会将此归咎于缺少内存,因为在RAM中剥夺系统数据缓存会导致更多I / O.但它并不像“耗尽内存”那么简单.