【FAQ】task java:blocked
金蝶云社区-蔡嘉盛
蔡嘉盛
1人赞赏了该文章 521次浏览 未经作者许可,禁止转载编辑于2019年12月28日 17:14:38

【问题现象】
客户系统出现整体全面卡顿,时好时坏,具体表现为系统功能点不动,打开极其缓慢。
控制台在Linux下,查看系统日志/var/log/message 出现提示task java:3719 blocked for more than 120 seconds,
【解决办法】
一般情况下,linux会把可用内存的40%的空间作为文件系统的缓存。当缓存快满时,文件系统将缓存中的数据整体同步到磁盘中。但是系统对同步时间有最大120秒的限制。如果文件系统不能在时间限制之内完成数据同步,则会发生上述的错误。这通常发生在内存很大的系统上。系统内存大,则缓冲区大,同步数据所需要的时间就越长,超时的概率就越大。

1.判断是否为磁盘问题
检查服务器性能发现内存和cpu占用率不高,鼠标点击没有出现卡顿现象。但是在编辑文件时候出现周期性的卡顿,界面也是出现了周期性界面空白,说明磁盘上的缓存写入超时。因此判断是磁盘存在问题。
2.取消Linux120s写入限制,
修改hung_task_timeout_secs值。
把hung_task_timeout_secs的值修改为0,在命令行中输入如下指令:
./sbin/sysctl -w kernel.hung_task_timeout_secs=0

查看是否修改
sysctl -a | grep hung_task_timeout_secs
使其生效
sysctl -p

关于改Linux限制查看https://blog.csdn.net/electrocrazy/article/details/79377214

您的鼓励与嘉奖将成为创作者们前进的动力,如果觉得本文还不错,可以给予作者创作打赏哦!

请选择打赏金币数 *

10金币20金币30金币40金币50金币60金币
可用金币: 0