首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >centos内存过满排查+解决

centos内存过满排查+解决

作者头像
阿超
发布2022-08-16 20:18:30
发布2022-08-16 20:18:30
3.1K0
举报
文章被收录于专栏:快乐阿超快乐阿超

请君莫奏前朝曲,听唱新翻杨柳枝。——刘禹锡《杨柳枝词》

今天突然发现程序执行insertsql语句执行不了,查询正常,根据数据库死锁排查步骤排查了下无果

后来登上宝塔面板发现磁盘爆满。。。

首先看看磁盘使用情况

代码语言:javascript
复制
# 查看磁盘使用情况统计(disk free),这里-h表示以M/G等单位显示
df -h

可以看到我这里最大的是/dev/vda1这个磁盘,也就是我现在使用的这个盘占用了几乎爆满

然后我们列出该磁盘下文件大小

代码语言:javascript
复制
# 显示目录或文件大小(disk usage),-s表示仅显示总计 -h同上
du -sh /*

看到最大的是这个28G/var

再进一步查看该目录下的

代码语言:javascript
复制
du -sh /var/*

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

这个文件是存放我们系统日志的文件,例如一些服务日志之类的会往里写

我们清理一下

先列出打开这个文件的进程

代码语言:javascript
复制
# 列出当前系统打开文件(list open files),使用“|”管道符将左边lsof的输出作为右边命令grep message的输入
# grep 命令是用于查找文件里符合条件的字符串
# 这里 lsof 还可以这样使用: lsof -i:80 (查看端口占用情况)
lsof | grep messages

我们杀掉进程试试?

代码语言:javascript
复制
# 终止进程号为1002的进程(-9表示强制终止)
kill -9 1002

然后发现进程还在。。。

那就关一下这个叫rsyslogd的服务好了

代码语言:javascript
复制
# 系统服务 关闭 [服务名]
systemctl stop rsyslog

然后再次lsof发现没有了

我们再清空日志

代码语言:javascript
复制
# 输出 /dev/null 这个文件中的内容 覆盖 /var/log/messages
cat /dev/null > /var/log/messages

然后再次查看文件大小

代码语言:javascript
复制
du -sh /var/log/*

发现已被清空

然后重启

代码语言:javascript
复制
reboot

成功瘦身!Yes!!!

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-05-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档