linux服务器内存使用完后,内核会启动进程把内存里面不常用的数据交换到swap里面去,此时会产生很高的IO,甚至把IO撑满,造成无法远程ssh。
那么,有没有办法在内存交换的时候是IO使用得到一些限制或者控制呢?
出现swap交换说明你的机器物理内存不足。按top再按shift+m,对RES排名前面,值大的进程进行排查,看看他是否真的有必要使用这么多内存,削减不必要的内存开支:
case by case的分析,如果是java类程序,看看是否一定必须要开启大堆,主要看参数xms. 如果流量不是那么大,可以考虑把这个值调小,这样会使得java进程在堆内存小的时候,适当归还一些内存给操作系统;
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。