| 场景 | rm 后 df 无变化,磁盘持续告警 |
|---|---|
| 目标 | 找到 deleted 句柄并释放空间 |
| 工具链 | lsof → /proc/PID/fd → 重启/截断 |
第 1 步:定位
第 1 步:定位
lsof +L1 2>/dev/null | sort -k7 -n | tail -n 20
# 或全局扫(较慢)
lsof -nP +L1 | awk '$7>1073741824'第 2 步:交叉验证
第 2 步:交叉验证
ls -l /proc/<PID>/fd | grep deleted
head /proc/<PID>/fdinfo/<FD>第 3 步:处置
第 3 步:处置
systemctl restart <持有服务> # 首选:让应用自己重开文件
# 不能重启时:先重开同名新文件,再评估旧句柄
: > /path/to/new.log把 deleted 文件当普通文件再 rm 是无效操作;对数据库这类进程,重启前确认复制/主从状态。