麒麟操作系统运维常见问题集中提到“/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 -w vm.dirty_ratio = 10

sysctl -w vm.dirty_backgroud_ratio = 5

sysctl -p

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

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

参与10

2同行回答

actor168actor168课题专家组研发工程师中国联通软件研究院
默认情况下,Linux会使用最多40%的可用内存作为文件系统缓存。当超过这个阈值后,文件系统会把缓存中的内存全部写入磁盘,导致后续的IO请求都是同步的。将缓存写入磁盘时,有一个默认120s的超时时间,前述问题原因是IO子系统的处理速度不够快,不能在120s将缓存中的数据全部写入磁盘...显示全部

默认情况下,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
三虎三虎联盟成员系统运维工程师中国邮政储蓄银行
[此回答已删除]
浏览502

ChatGPT 回答

通过参数调优可以优化系统的虚拟内存分配和回收,但是该方式可能并不能完全解决上述报错。因为该报错可能是由于系统资源不足导致的,而资源不足的原因可能是多方面的,比如硬件配置不足、应用程序负载过大等。因此,除了进行参数调优之外,还可以考虑以下措施:

  1. 检查硬件配置是否满足应用程序的需求,如果硬件配置不足,可以考虑升级硬件。
  2. 对于应用程序负载过大的情况,可以考虑优化应用程序代码,或者增加服务器数量来分担负载。
  3. 对于国产化芯片方面的问题,可以联系芯片厂商进行技术支持,或者考虑更换其他品牌的芯片。

总之,针对该报错,需要综合考虑多方面的因素,进行综合性的优化和调整,才能够更好地解决问题。

提问者

三虎
系统运维工程师中国邮政储蓄银行
擅长领域: 服务器信创Linux

问题来自

相关问题

相关资料

相关文章

问题状态

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