找回密码
 立即注册

QQ登录

只需一步,快速开始

主机交流Megalayer兑换位02兑换位03
兑换位04兑换位05兑换位06兑换位07
查看: 383|回复: 0

[Linux/Centos/Ubuntu] 内存缓冲与磁盘IO同步问题

[复制链接]

602

主题

59

回帖

2790

积分

超级版主

积分
2790

最佳新人活跃会员热心会员推广大使宣传大使灌水之王突出贡献优秀版主荣誉管理论坛元老

发表于 2020-8-13 17:38:48 | 显示全部楼层 |阅读模式
服务器负载很高,但是CPU利用率不高。服务器经常夯住,网站打不开,SSH连接非常不稳定,输入命令夯住。
服务器报错:
INFO: task blocked for more than 120 seconds

================================日志================================

Aug 16 22:48:20 lvs02 kernel: INFO: task sshpass:23238 blocked for more than 120 seconds.
Aug 16 22:48:20 lvs02 kernel: "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
Aug 16 22:48:20 lvs02 kernel: sshpass       D 0000000000000003     0 23238  23237 0x00000080
Aug 16 22:48:20 lvs02 kernel: ffff880041233a78 0000000000000046 0000000000000000 ffff88004122a040
Aug 16 22:48:20 lvs02 kernel: ffff8800412339f8 ffffffff8126a4c1 ffff88003f4d6cc0 ffff88003f4d6f88
Aug 16 22:48:20 lvs02 kernel: ffff88004122a5f8 ffff880041233fd8 000000000000f4e8 ffff88004122a5f8
Aug 16 22:48:20 lvs02 kernel: Call Trace:

================================日志================================
问题原因:
默认情况下, Linux会最多使用40%的可用内存作为文件系统缓存。当超过这个阈值后,文件系统会把将缓存中的内存全部写入磁盘, 导致后续的IO请求都是同步的。
将缓存写入磁盘时,有一个默认120秒的超时时间。 出现上面的问题的原因是IO子系统的处理速度不够快,不能在120秒将缓存中的数据全部写入磁盘。
IO系统响应缓慢,导致越来越多的请求堆积,最终系统内存全部被占用,导致系统失去响应。

优化内核参数:
echo "vm.dirty_background_ratio = 5" >> /etc/sysctl.conf
echo "vm.dirty_ratio = 10" >> /etc/sysctl.conf
重载sysctl文件
sysctl -p

GDC主机交流论坛 https://www.globaldc.cn/
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|GDC主机交流论坛_GDC之家

GMT+8, 2024-4-27 00:48 , Processed in 0.058799 second(s), 21 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表