Centos 内存占用过高问题记录
前不久发现 MySQL 服务总是挂掉,检查服务器才发现是内存占用过高导致 MySQL 服务自动停止运行了,在网上搜索后发现可能是内存缓存过多,于是尝试清除缓存,使用命令如下:
# sync
# echo 3 > /proc/sys/vm/drop_caches
结果并没有让内存占用降下来,通过 top 命令和 free 命令查看,也没有发现占用内存过高的进程。甚至通过 free 命令发现 swap 都被占满了,但是又没有办法降下来。查找了很多网站和论坛都没有解决的办法,正当我一筹莫展之际,在 SCDN 上看到一篇博文,博主讲到了他使用了自动化脚本和定时任务,在程序中通过 sleep() 函数来起到延时效果,我一看,欸嘿,我自己的自动化脚本也使用了 sleep() 用来给程序延时,再往下看发现他的状况和我一样,也是内存占用过高,清除缓存没用。
该博主在自行解决过程中通过使用 ps 命令详细查看了进程的使用情况,我一瞬间茅塞顿开,想到我的自动化脚本是通过调用 firefox 打开网页来起到自动化效果的,于是使用命令查看 firefox 进程,命令如下:
# ps -ef | grep firefox
这不看不知道,一看吓一跳,满满的一屏幕进程差点让小小的 PuTTY 的窗口当场去世
解决方案:通过 kill 命令杀死所有的 firefox 进程,使用命令如下:
# killall -9 firefox
结果是好的,内存占用当场就降了下来。
具体为啥,我也还不清楚,得询问询问运维的大佬。
本文由 小但 创作
全文共:976个字
采用 知识共享署名4.0 国际许可协议进行许可
本站文章除注明转载,均为作者原创,转载前请务必署名
最后编辑时间为: Aug 29, 2024 at 12:55 am