hung_task_timeout_secs 和 blocked for more than 120 seconds

https://help.aliyun.com/knowledge_detail/41544.html

问题现象



云服务器 ECS Linux 系统出现系统没有响应。 在/var/log/message 日志中出现大量的类似如下错误信息:

  1. echo 0 > /proc/sys/kernel/hung_task_timeout_secs disables this message.
  2. blocked for more than 120 seconds

如下图所示:

问题原因



默认情况下, Linux 会最多使用 40% 的可用内存作为文件系统缓存。当超过这个阈值后,文件系统会把将缓存中的内存全部写入磁盘, 导致后续的 IO 请求都是同步的。

将缓存写入磁盘时,有一个默认120 秒的超时时间。 出现上面的问题的原因是  IO 子系统的处理速度不够快,不能在 120 秒将缓存中的数据全部写入磁盘。

IO 系统响应缓慢,导致越来越多的请求堆积,最终系统内存全部被占用,导致系统失去响应。

处理方法



根据应用程序情况,对 vm.dirty_ratio,vm.dirty_background_ratio 两个参数进行调优设置。 例如,推荐如下设置:

  1. # sysctl -w vm.dirty_ratio=10
  2. # sysctl -w vm.dirty_background_ratio=5
  3. # sysctl -p

如果系统永久生效,修改 /etc/sysctl.conf  文件。加入如下两行:

  1. #vi /etc/sysctl.conf
  2. vm.dirty_background_ratio = 5
  3. vm.dirty_ratio = 10

重启系统生效。

时间: 2024-11-01 07:07:41

hung_task_timeout_secs 和 blocked for more than 120 seconds的相关文章

linux 出错 “INFO: task java: xxx blocked for more than 120 seconds.” 的3种解决方案

1 问题描述 最近搭建的一个linux最小系统在运行到241秒时在控制台自动打印如下图信息,并且以后每隔120秒打印一次. 仔细阅读打印信息发现关键信息是“hung_task_timeout_secs”,第一次遇到这样的问题,首先百度… 通过翻看多个网友的博客,发现这是linux kernel的一个bug.大家对这个问题的解释也都比较一致,摘抄一段: By default Linux uses up to 40% of the available memory for file system c

Linux 日志报错 xxx blocked for more than 120 seconds

监控作业发现一台服务器(Red Hat Enterprise Linux Server release 5.7)从凌晨1:32开始,有一小段时间无法响应,数据库也连接不上,后面又正常了.早上检查了监听日志,并没有发现错误信息.但是检查告警日志,发现有下面错误信息: Thread 1 advanced to log sequence 19749 (LGWR switch)   Current log# 2 seq# 19749 mem# 0: /u01/oradata/epps/redo02.lo

kernel: INFO: task sadc:14833 blocked for more than 120 seconds.

早上一到,发现oracle连不上. 到主机上,发现只有oracleora11g一个进程,其他进程全没了. Nov 14 23:33:30 hs-test-10-20-30-15 kernel: INFO: task sadc:14833 blocked for more than 120 seconds.Nov 14 23:33:30 hs-test-10-20-30-15 kernel: Not tainted 2.6.32-431.el6.x86_64 #1Nov 14 23:33:30 h

more than 120 seconds|hung_task_timeout_secs 什么鬼?

//2019/7/31 18:41:14掐指一算应该resore完了呀,是不是天热想罢工?不过已经差不多30个小时了无意间一查 tail -500f /var/log/messages 发现有些“more than 120 seconds|hung_task_timeout_secs”,还有写kernel乱七八糟的,有点蒙圈...先分析再干活咋一看2个帖子分析的非常有道理,那就干吧,粗体是要执行查看的 问题原因:默认情况下,Linux会最多使用40%的可用内存作为文件系统缓存.当超过这个阈值后,

转:loadruner报错:Step download timeout(120 seconds)的一个解决方法

一个网友问了我一个问题如下:loadruner报错:Error -27728: Step download timeout (120 seconds) 如何解决语法检查通过,但是在并发执行一个查询时候报错Action.c(16): Error -27728: Step download timeout (120 seconds) has expired when downloading non-resource(s),请问有啥子解决方法,我使用web_set_timeout ,好象不起作用,直接

Error -27728: Step download timeout (120 seconds)的解决方法(转)

LR中超时问题解决方法 超时错误在LoadRunner录制Web协议脚本回放时超时经常出现. 现象1:Action.c(16): Error -27728: Step download timeout (120 seconds) has expired when downloading non-resource(s). 分析:对于HTTP协议,默认的超时时间是120秒(可以在LoadRunner中修改),客户端发送一个请求到服务器端,如果超过120秒服务器端还没有返回结果,则出现超时错误. 办法

loadruner报错:Step download timeout(120 seconds)的一个解决方法

一个网友问了我一个问题如下: loadruner报错:Error -27728: Step download timeout (120 seconds) 如何解决 语 法检查通过,但是在并发执行一个查询时候报错Action.c(16): Error -27728: Step download timeout (120 seconds) has expired when downloading non-resource(s),请问有啥子解决方法,我使用web_set_timeout ,好象不起作用

MySQL server has gone away和Maximum execution time of 120 seconds exceeded

今天在写采集时碰到两个问题1.MySQL server has gone away2.Maximum execution time of 120 seconds exceeded 采集程序写好运行大概一分钟后出现MySQL server has gone away,发现mysql里面的max_allowed_packet = 1M,这里改成了10M,运行两分钟后出现Maximum execution time of 120 seconds exceeded,这里是因为php.ini里设置了max

Action(8):Error -27728:Step download timeout(120 seconds)has expired when downloading

Action(8):Error -27728:Step download timeout(120 seconds)has expired when downloading 出现如下图所示对话框上的错误信息时 解决方法是: 在Vuser Generator中的Vuser--->Run-Time Settings...---->Internet Protocol--->Preferences---->HTTP-request connect timeout (sec)和HTTP-req