hyperv下的动态内存导致CentOS6.5异常问题排查及处理(持续更新)
1.因为VMware对内存的占用是过量使用的手段,我转站hyperv的动态内存去部署虚拟机,于是出现了CentOS在高负载之后内存回收完,系统会崩溃(黑屏,ssh能连接无法输入命令,偶然能输入命令执行halt也无法关机,有时候会报session close,或者keepalive timeout),所以开一贴记录问题处理的过程。
2.首先想到的可能是交换区负载问题导致系统挂掉,因为经常能看到读写磁盘1GB负载以上,可能是交换区读写过慢导致系统卡住
处理方案1,删除交换区,再次测试无效;
处理方案2,减小交换频率,修改vm.dirty_background_ratio=5,vm.dirty_ratio=10,测试无效。
处理方案3,增大交换区和减小交换区,依然无效。
3.删除UI界面,导致动态内存不起作用,也就不存在内存回收导致系统挂掉的问题,所以弃了这个办法。
4.关闭oom功能
关闭内存不足时会关闭bad进程的功能,正在测试,目前一切正常
执行任务后,半小时后内存下来了,系统依然挂掉了,session close
详情见:Linux OOM-killer(内存不足时kill进程的策略)_freedom3959的博客-CSDN博客
5.增加启动内存,增加动态内存的最小内存
测试后,依然挂住了,内存大小那里卡住不动了,估计可能是内存动态调整的时候,内存变动,或者属性变动冲突,导致系统挂掉。
6.升级Linux Integration Services到最新
升级完后,高负载时依然挂住,继续挂掉,内存还没降低就已经挂了。
7.设置SWAP为8G,并修改swap交换参数,使用了一个月之后没有出现卡死现象,基本上可以认为成功了。
参考我的另一篇文章修改swap分区(文章内容第三点):记安装hyper-v与VMware和CentOS6.5(3-调整CentOS)_dtq732的博客-CSDN博客
修改vm.swappiness
vim /etc/sysctl.conf
#增加一行
vm.swappiness=1
版权声明:本文为qq_28606555原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。