暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

快速定位和解决磁盘爆满问题的五步法,建议收藏

100
今天分享一下磁盘空间满了怎么排查。

磁盘空间满的问题基本是每个运维牛马都会遇到的,接下来我将通过5步完成排查和解决磁盘满的问题。

第一步:哪个挂载点满了?

df -h

输出示例:

Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1        50G   49G  500M  100%

一般系统都有多个挂载点,首先找出哪个挂载点爆满。

第二步:哪个目录最占空间?

# 查看
sudo du -h --max-depth=1 | sort -hr | head -n 10

参数说明:

  • du
    :查看文件夹体积
  • --max-depth=1
    :只看一级目录
  • sort
    :从大到小排序
  • head
    :只显示前10个

找到哪个目录占用较多,再深入查看:

du -h --max-depth=3 data | sort -hr | head -n 10

通常 是日志文件占据较大空间,能删除的也只有日志,或者备份

第三步:找出最大文件

# 从上两步定位出来,再根据大小进一步确认
find data -type f -size +1G -exec ls -lh {} \; 2>/dev/null | sort -k5 -hr | head -n 20

从上图可以看出有个30G的tomcat日志文件,这样就可以清理了,这种大文件建议进行切割,然后定时清理。

第四步:查看被删但仍占空间的文件

 lsof | grep deleted

看到某个被删的日志文件还被占用?

解决办法:重启对应服务即可释放磁盘。

第五步:快速清理技巧

清理项
命令
清空日志文件
> var/log/xxx.log
  --》这个命令会直接清空该文件的所有内容
删除7天前日志
find var/log -type f -name "*.log" -mtime +7 -exec rm -f {} \;
清理 Docker
docker system prune -af
清理 APT 缓存
sudo apt clean
清理 YUM 缓存
sudo yum clean all

【温馨提示】在删除前一定要确保不影响系统运行。

总结一句话:

用 df
 找哪里满了 → 用 du
/find
 找大目录/大文件 → 清理/重启释放空间。

如果经常出现,就加一个定时任务定期处理。

如果觉得实用,记得点赞关注哦!
如果想添加交流群或需要提供技术支持,加V:lige_linux

往期精彩文章:


K8S命令详解汇总【自用珍藏版】K8S集群部署 | K8S存储实战案例 |
K8S证书续签十年 | K8S部署Prometheus | Rancher部署并接管K8S |
Jenkins安装部署 | Gitlab安装部署 | 服务网格Istio安装及实战 |
搭建企业级Harbor仓库 | K8S对接Harbor仓库 | Docker常用命令汇总 |
Docker无法下载镜像解决办法 | 安装Docker的三种方法 | Docker基础概念汇总 |

Oralce19C RAC集群搭建 | Oracle集群管理命令汇总 | MySQL集群安装部署 |
MySQL一键备份脚本 | MySQL集群目录迁移 | Redis三主三从集群部署 |

150个Linux常用命令 |  8个有趣的Linux命令 | 主流Linux操作系统各版本网卡配置方法汇总,建议收藏!  |
Firewalld防火墙详细讲解 |  构建内部Yum源 | 超全的磁盘扩容方法 | 服务器带外管理知识

文章转载自运维李哥不背锅,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论