麒麟操作系统运维常见问题集中提到“/proc/sys/kernel/hung_task_timeout_secs”报错?

培训中提到:在/var/log/message中出现大量的"echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message" 和 "blocked for more than 120 seconds" 错误.解决方案:根据应用程序情况,对vm.dirty_ratio、vm.dirty_backgroud_ratio参数调优,推荐如下:sysctl ...显示全部

培训中提到:
在/var/log/message中出现大量的"echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message" 和 "blocked for more than 120 seconds" 错误.
解决方案:根据应用程序情况,对vm.dirty_ratio、vm.dirty_backgroud_ratio参数调优,
推荐如下:

sysctl -w vm.dirty_ratio = 10

sysctl -w vm.dirty_backgroud_ratio = 5

sysctl -p

请问:
通过上述方式是否解决了上述报错呢?

通过参数调优可以优化系统的虚拟内存分配和回收,但从报错看,可能是资源不足导致,特别在国产化芯片方面该问题尤为严重,所以想了解下,该方式是否解决了问题,是否还有别的调优措施。

收起
参与10

查看其它 1 个回答actor168的回答

actor168actor168课题专家组研发工程师中国联通软件研究院

默认情况下,Linux会使用最多40%的可用内存作为文件系统缓存。当超过这个阈值后,文件系统会把缓存中的内存全部写入磁盘,导致后续的IO请求都是同步的。将缓存写入磁盘时,有一个默认120s的超时时间,前述问题原因是IO子系统的处理速度不够快,不能在120s将缓存中的数据全部写入磁盘。IO系统响应慢,导致越来越多的请求堆积,最终系统内存全部被占用,导致系统hung死。
解决方案:
根据应用程序情况,对vm.dirty_ratio、vm.dirty_backgroud_ratio参数调优,推荐如下:

sysctl -w vm.dirty_ratio = 10
sysctl -w vm.dirty_backgroud_ratio = 5
sysctl -p

目前没有再复现同样的问题

电信运营商 · 2023-06-06
  • 了解,是我没说清楚,就是您说的这个缓存问题,其实是各个操作系统上都有的问题。 所以我想了解的是,在麒麟系统上特地强调这个问题,是否和麒麟系统在内存管理上的不当有关,所以上述优化项,可以作为麒麟上的默认优化配置?
    2023-06-06

回答者

actor168
研发工程师中国联通软件研究院
擅长领域: 服务器信创信创操作系统

actor168 最近回答过的问题

回答状态

  • 发布时间:2023-06-06
  • 关注会员:4 人
  • 回答浏览:671
  • X社区推广