image.png# 🧹 Linux 磁盘占用排查指南(ncdu)
适用于 CentOS / OpenCloudOS / 常见 Linux 服务器\
目标:快速找出占用磁盘空间最大的目录和文件并清理
1️⃣ 安装 ncdu
yum install -y ncdu # CentOS / OpenCloudOS
# Ubuntu/Debian:
# apt install -y ncdu
2️⃣ 快速查看磁盘使用情况
查看磁盘分区使用率
df -h
确认是根分区 /
爆满还是其他挂载点。
使用 ncdu 查看整个系统
ncdu --exclude /proc --exclude /sys --exclude /run /
↑ ↓
上下移动\Enter
进入目录\q
退出\d
删除当前选中项
3️⃣ 逐步定位问题目录
- 在
ncdu
主界面找到占用最大的目录,例如/var
- 按
Enter
进入继续分析 直到找到具体占用空间最大的子目录或文件,例如:
/var/lib/docker/overlay2
/var/log
/var/cache
4️⃣ 常见大户及清理方法
🐳 Docker 占用过多
查看 Docker 占用:
docker system df
清理未使用的容器、镜像、缓存:
docker system prune -af
docker volume prune -f
⚠️
不会影响正在运行的容器,但会删除所有停止容器、悬挂镜像、无用网络和缓存。
📝 日志占用过多
# 清空主要日志文件
> /var/log/messages
> /var/log/secure
> /var/log/wtmp
🗑 缓存占用过多
yum clean all
rm -rf /var/cache/*
5️⃣ 高效排查大文件
找出某目录下最大的 20 个文件:
find /var -type f -exec du -h {} + 2>/dev/null | sort -hr | head -n 20
6️⃣ 推荐排查步骤(自上而下)
df -h
找到磁盘满的分区\ncdu /
定位占用最大的目录\- 进入目录逐层分析\
- 清理不必要的日志、缓存、镜像\
- 再次
ncdu
验证释放空间情况
7️⃣ 最佳实践
- 定期执行:
docker system prune -af
docker volume prune -f
yum clean all
- 配合
ncdu
每月巡检,避免磁盘突然被写满导致服务宕机 - 重要业务文件删除前做好备份
4 条评论
滴!学生卡!打卡时间:00:18:32,请上车的乘客系好安全带~
111111111111