我的一台服务器上的根文件系统显示已满 87%,但我不知道为什么。我有几台服务器执行与此类似的功能,其运行率约为 25-35%。该服务器上的 5GB 可用空间在月底就会被填满,此时该 5GB 可用空间被排序临时文件占用,并且其报告内容失败。
df -k
报告:
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/mapper/ol-root 39265556 34049040 5216516 87% /
然而:du -skx
报告:
11776608 /
所以有 20 GB 的空间被一些我无法解释的东西占用了。
我想我可能在 NFS 安装驱动器的几个安装点下有一些隐藏文件。我卸载了挂载并重新检查,结果仍然相同 - 挂载下的目录是空的。
从我所做的根目录(从 /proc 中删除错误):
[root@xxx /]# for i in `ls -1` ; do du -skx $i; done
0 appliance
0 bin
199876 boot
0 dev
66260 etc
0 files
74300 home
0 lib
0 lib64
0 media
0 mnt
3572720 opt
0 proc
75144 root
165212 run
0 sbin
0 srv
0 sys
263512 tmp
4872936 usr
4383596 var
我去检查打开的文件:
lsof / | awk '{if($7 > 1048576) print $7/1048576 "MB" " " $9 }' | sort -n -u
没有任何东西大于 180MB,而且大多数都是个位数,当然没有任何东西在 20GB 范围内。
我已经在谷歌上做过一些事情来寻找答案,大多数都是我所做的事情的变体(并且 lsof 的想法正是来自谷歌搜索)。
我团队中的其他人也看过(我们都不是超级专家),但我们都在这里画空白。
有人有什么好主意吗?
提前致谢
答案1
好吧,最终克隆了一个新的服务器用于生产,这样我就有时间解决这个问题。
卸载所有 NFS 驱动器以便我可以玩。
最终运行:xfs_fsr /dev/mapper/ol-root
运行了几分钟,我的磁盘使用率从 95% 下降到大约 35%
问题解决了。