目前正在运行一些虚拟机和“裸机”服务器。 Java运行时间高达400%以上。 随机的服务器挂起在控制台“java – 被阻止超过120秒”的错误 – kjournald等
我不能得到一个dmesg输出,因为由于某种原因,这个错误只写入控制台,我不能访问,因为这是远程托pipe。 因此我无法复制完整的跟踪。
我改变了这个环境 – 甚至物理服务器,它仍然在发生。
我将hung_task_timeout_secs更改为0 incase,这是一个误报,根据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-server和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这个消息的周围,特别是跟踪它的堆栈跟踪?
而且,这不是假阳性。 这并不是说这个任务是永久的 ,这个说法是完全正确的。 这并不意味着这对您是个问题,如果您没有注意到任何用户的影响,您可以决定忽略它。
这不能由以下原因引起:
oom-killed ), oom-killer )。 从某种意义上讲,你可能会把这个归咎于缺乏内存,因为剥夺你的系统数据在RAM中的caching将导致更多的I / O。 但这并不像“内存不足”那样简单。
sudo sysctl –w vm.dirty_ratio=10 sudo sysctl –w vm.dirty_background_ratio=5
然后提交更改:
sudo sysctl –p
解决了我的….
我最近在我们的一个生产集群中遇到了这个错误:
11月11日14:56:41 xxx内核:信息:任务xfsalloc / 3:2393阻塞超过120秒。
11月11日14:56:41 Xxxx内核:没有污染2.6.32-504.8.1.el6.x86_64#1
11月11日14:56:41 xxx:“echo 0> / proc / sys / kernel / hung_task_timeout_secs”禁用此消息。
..
关于sar日志的进一步validation发现IO等待在同一时间增加。
在检查硬件(物理磁盘)时,由于缺less资源分配,看到介质错误和其他SCSI错误已经login到一个物理磁盘上,而物理磁盘反过来又阻塞了IO。
11/11/15 19:52:40:终止pRdm 607b8000标志= 0 TimeOutC = 0 RetryC = 0请求c1173100回复60e06040 iocStatus 0048 retryC 0 devId:3 devFlags = f1482005 iocLogInfo:31140000
11/11/15 19:52:40:DM_ProcessDevWaitQueue:进程中的任务pipe理devId = x 11/11/15 19:52:40:DM_ProcessDevWaitQueue:进程中的任务pipe理devId = x
所以这是由于硬件错误,在我们的集群。
所以如果你能检查核心文件,并且如果有ipmi实用程序,那么检查ipmiutil / ipmitool sel elist命令来检查问题是很好的。
问候,VT