为什么我的阿里云服务器 CPU 占用经常 100%?排查了3天发现是这个参数没调对!
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
别死磕代码了,90%是Swap在背锅。
CPU飙到100%,你盯着进程看半天没发现啥,其实是因为内存爆了。Linux被迫把数据往磁盘Swap里踢,磁盘IO慢如蜗牛,CPU全在等I/O,负载自然爆表。
自查:
敲 top,看 si/so(swap in/out)是不是很高?如果是,说明系统在疯狂换页,这就是元凶。
怎么破?
加内存:最爽。2G升4G,彻底根治。
调参数:改 /etc/sysctl.conf,设 vm.swappiness=10。告诉系统:能不用磁盘就别用,尽量撑住物理内存。
杀进程:偶尔只是某个Java子进程泄露,重启服务就能喘口气。
小内存服务器开Swap就是慢性自杀。要么加钱买内存,要么关掉它。别在软件层面硬扛硬件瓶颈,那是无底洞。
官方详细解决方案:https://www.aliyun.com/product/swas