Linux 服务器磁盘空间清理的几个思路
从定位大文件到日志轮转,整理磁盘占满时的排查顺序。
服务器磁盘跑满是运维最常见的问题之一。我的习惯是先定位、再判断能不能删,最后才是清理,避免误删正在用的数据。
先看清楚是哪里在涨
用 du -xh -d1 / | sort -rh | head 逐层往下看,比一上来就全盘扫要快得多。注意加 -x,否则会跟到挂载点上。
日志和缓存通常是最大头
journald 日志可以用 journalctl --vacuum-size=200M 收到固定大小;apt 缓存用 apt-get clean;容器镜像用 podman system prune 清理无引用的层。这些都不会影响正在运行的服务。
删文件前先确认没人占着
常见坑是 rm 了日志但空间没释放——因为有进程还开着这个文件描述符。用 lsof +L1 能找到这类被删除但仍占用的文件,重启对应服务即可释放。
清理前先备份,清理后再看一次 df 确认空间真的回来了。这两步能省掉很多事后排查。