服务器内存满了解决之路

背景:大清早,突然一通电话吵醒,说项目跑不了,还没洗漱赶紧跑过来,毕竟属于实时在用的系统。排查发现系统盘满了,数据写不进去了,导致报错。接手的项目,从来没考虑服务器问题,那么就解决吧,一通百度。

df -h  查看内存满了

 那就du --max-depth=1 -h 查看哪个地方占用了太多,然后发现就是一通删文件,最后发现好像影响不是很大,最后就是lsof -n | grep deleted 查看是不是哪些文件删除了但是还是被占用了,然后确实找到了很多占用的文件,但是不是系统盘的,影响不是很大。

剩下的mysql相关的不敢删,因为删了其他的项目的部分项目停了,不知道为啥。

删了半天,没得删了,内存还是没有释放多少, 那就执行看看那就申请扩容吧。但是扩容又遇到了问题,内存太满,执行

  • yum install cloud-utils-growpart
    yum install xfsprogs

 提示/var/cache/yum/内存不够。那就继续百度,看到 yum clean all 清除缓存,结果内存没有释放多少,yum 用不了了,没有可用的源

 然后根据提示 yum-config-manager --enable base 解决yum 可以用了,成功安装了扩容工具。      但是再执行growpart /dev/vda 1,提示错误

 根据指点修改服务器语言,LANG=en_US.UTF-8,再执行growpart /dev/vda 1就可以了

 然后执行 resize2fs /dev/vda1 分区扩容文件系统

 成功!!!