排查文件系统 Inode 节点耗尽、Overlay2 容器镜像无用数据清理以及被删除但句柄未释放的“隐形文件”。
一、 Inode 耗尽与垃圾句柄精准排查
# 查看各分区 Inode 使用率
df -i
# 排查目录下包含小文件极多的子目录
find / -xdev -printf '%h\n' | sort | uniq -c | sort -k1 -nr | head -n 10
# 检索删除未释放的 deleted 句柄,并在线截断清空
lsof +L1 | grep deleted | awk '{print $2, $4}' | while read pid fd; do
fd_clean=${fd%?}
echo "" > "/proc/$pid/fd/$fd_clean"
done
二、 Docker Overlay2 空间暴涨清理
# 清理无效容器、无主镜像与卷
docker system prune -a --volumes -f
# 限制容器日志单文件上限 (daemon.json)
# { "log-driver": "json-file", "log-opts": { "max-size": "100m", "max-file": "3" } }