centos内存过满排查+解决
请君莫奏前朝曲,听唱新翻杨柳枝。——刘禹锡《杨柳枝词》
今天突然发现程序执行insert的sql语句执行不了,查询正常,根据数据库死锁排查步骤排查了下无果
后来登上宝塔面板发现磁盘爆满。。。

首先看看磁盘使用情况
| 查看磁盘使用情况统计(disk free),这里-h表示以M/G等单位显示 | 
可以看到我这里最大的是/dev/vda1这个磁盘,也就是我现在使用的这个盘占用了几乎爆满

然后我们列出该磁盘下文件大小
| 显示目录或文件大小(disk usage),-s表示仅显示总计 -h同上 | 
看到最大的是这个28G的/var

再进一步查看该目录下的
| du -sh /var/* | 

这样一步一步到最后发现是/var/log下的一个叫messages的文件占用23G

这个文件是存放我们系统日志的文件,例如一些服务日志之类的会往里写
我们清理一下
先列出打开这个文件的进程
| 列出当前系统打开文件(list open files),使用“|”管道符将左边lsof的输出作为右边命令grep message的输入 | 

我们杀掉进程试试?
| 终止进程号为1002的进程(-9表示强制终止) | 
然后发现进程还在。。。

那就关一下这个叫rsyslogd的服务好了
| 系统服务 关闭 [服务名] | 

然后再次lsof发现没有了
我们再清空日志
| 输出 /dev/null 这个文件中的内容 覆盖 /var/log/messages | 
然后再次查看文件大小
| du -sh /var/log/* | 
发现已被清空

然后重启
| reboot | 
成功瘦身!Yes!!!

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 蒋立坤的博客!
 评论
Va








