linux服务器内存故障现象:
1、某分行部署的某台服务器内存占用过高,导致死机;
2、代码层面检查暂未发现问题,服务器硬重启持续一段时间后(3-5天)再次占满。
赶往现场后进行检查,当时是一切正常的,今有db2进程占用18%,在正常范围内;
在crontab 中发现有两个脚本每天14点进行ftp批量数据传输,找到相应的传输文件存放目录发现每天传输的文件达到30多个g,由此可判断这就是故障之根本,ftp传输文件,会缓存到内存中,服务器内存也只有32g,ftp传输导致缓存被占满,linux不能自动清理缓存导致死机。
linux内存中缓存占用的空间是可以自动释放的,现在缓存占用了整个内存导致死机,肯定是没有自动释放缓存。
内存点用高解决方法:
设定linux内存参数,始终留出一块空间,以避免缓存不释放导致死机。
方案一:
可手动清理页文件缓存,但是需手动执行;
echo1>/pron/sys/vm/drop_caches
方案二:
我们采用的方法是设定内存最低剩余内存,不让缓存占满
1.使用root用户备份/etc/sysctl.conf文件,准备修改原文件;
2.修改sysctl.conf配置文件
2.1 打开sysctl.conf
vim/etc/sysctl.conf
2.2 在文件最后加入一行:
vm.min_free_kbytes=2097152
(命令意义:设置最小剩余内存,单位kb,这里设置2g)
2.3 保存退出。
3. 使配置文件生效
sysctl-p
重庆网站设计和网站建设的区别营销型网站建设需要满足这些条件云主机是不是物理服务器?浅析物理服务器和云服务器的区别微网站应该具有哪些功能让百度重新收录你网站的有效秘诀芜湖企业网站维护更新管理售后服务做SEO网站如何使用站点地图o2o商业模式大潮正在退去,一个时代即将结束