Linux 系统磁盘空间满了排查解决

Linux 磁盘空间满了网站打不开了,怎么办?今天让何先生遇到了。

分析:

导致该问题的可能原因包括:

  1. 磁盘分区空间使用率达到百分之百。
  2. 磁盘分区 inode 使用率达到百分之百。
  3. 僵尸文件:已删除文件因句柄被占用未释放导致相应空间未释放。
  4. 挂载点覆盖:在原有文件系统的相应目录下已经存在大量文件。挂载了新磁盘后,导致使用 df 命令能统计到相关空间使用,而使用 su 命令统计不到。

排查和解决:

分区容量满

1、运行 df -h 查看磁盘使用率。

2、重复执行 du -sh /* 命令,找到容量比较大的目录并进入目录,直到找到最精确的文件或目录,再结合业务情况等进行判断,删除相关文件或目录。也可以选择更换大磁盘。

何先生使用的宝塔面板,经过使用上面命令排查,原来是我前两天开启了宝塔的“数据同步工具”,但是工具一直没有同步成功,而导致同步工具的日志文件逐渐增大,不知道为什么宝塔没有自动删除。

由于当时解决前没有截图,我这边先用 dd 命令生成一个大文件,放到了一个目录,咱们使用 du -sh 来模拟当时场景找到这个大文件。

使用 df -h 查看总磁盘占用

图片[1]-Linux 系统磁盘空间满了排查解决-何先生

可以看到 /dev/vda1 磁盘快满了

使用 du -sh /* 找到容量比较大的目录

图片[2]-Linux 系统磁盘空间满了排查解决-何先生

可以看到我们 www 目录有 40G 的文件,这个肯定是有问题的,我们接着使用 du -sh /www/* 命令进入到 www 目录再查询 www 目录下哪个目录使用容量大。

图片[3]-Linux 系统磁盘空间满了排查解决-何先生

按照此逻辑我们依次往下排查目录,下面使用 du -sh /www/server/* 命令,直到找到我们需要删除掉的 rsyncerror.log 文件:

图片[4]-Linux 系统磁盘空间满了排查解决-何先生

找到文件我们查看文件用途,如果没有用,使用命令 rm /www/server/panel/logs/rsyncerror.log 将此文件从系统上删除。如果你用的不是 root 用户,需要使用 sudo rm -rf /www/server/panel/logs/rsyncerror.log 进行删除。

© 版权声明
THE END
喜欢就支持一下吧
点赞0赞赏 分享
评论 抢沙发
欢迎您留下宝贵的见解!
提交

昵称

取消
昵称表情代码图片

    暂无评论内容