linux – 可以高负载导致服务器挂起并且错误“阻塞超过120秒”?

前端之家收集整理的这篇文章主要介绍了linux – 可以高负载导致服务器挂起并且错误“阻塞超过120秒”?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
目前运行一些VM和’bareMetal’服务器.
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.但它并不像“耗尽内存”那么简单.

猜你在找的Linux相关文章