故障现象:
1、某支行布署的某台服务器显存占用偏低,致使蓝屏;2、代码层面检测暂未发觉问题,服务器硬重启持续一段时间后(3-5天)再度占满。
发觉问题:
赶往现场后进行检测linux mint,当时是一切正常的,今有DB2进程占用18%linux 默认 文件不缓存,在正常范围内;在crontab中发觉有两个脚本每晚14点进行FTP批量数据传输linux 默认 文件不缓存,找到相应的传输文件储存目录发觉每晚传输的文件达到30多个G,由此可判定这就是故障之根本,FTP传输文件linux定时器,会缓存到显存中,服务器显存也只有32G,FTP传输造成缓存被占满,Linux不能手动清除缓存致使蓝屏。Linux显存中缓存占用的空间是可以手动释放的,如今缓存占用了整个显存致使蓝屏,肯定是没有手动释放缓存。
解决方式:
设定Linux显存参数,一直留出一块空间,以防止缓存不释放造成关机。
方案一:可自动清除页文件缓存,并且需自动执行;
echo 1 > /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
复制
因为第一种方式属于直接清空缓存,可能会导致数据遗失,故在今生产环境我们选择的是方案二。