- top 查看cpu
- 发现 kswapd0 这个程序占用了99%的cpu。
- 不懂就百度:
得到答案是,当内存不足时,系统会开辟磁盘当作缓存使用。
如果是内存常态使用那么多,这样会导致内存分页交换频繁,而使得cpu占用非常高。得不偿失。
4.解决方法:
修改内存不够时申请磁盘的阈值。
vim /etc/sysctl.conf
#最后一行加上
vm.swappiness=0
#然后 :wq 回车保存
#最后加载参数
sysctl -p
5.参考文章:kswapd0内存过高排查经历
6.题外话:
一般来说,如果经常出现内存不足的情况,最好的办法就是升级硬件,比如现在最低等1核2G云服务器,并不适合日常开发练习,开一个mysql就占用400M,在开其他肯定是不足。
当然如果是自己写的程序导致内存泄漏,那就只能自己慢慢排查了