在新创建的机器上,它的根 ext4 分区据称空间已不足。
当对分区上的所有文件进行汇总时,总使用空间并不接近 df 所指出的已使用空间。inodes 足够可用且保留空间设置为 3%,命名空间中没有绑定挂载。
> df /
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/xvda2 6061632 5900308 0 100% /
> df -h /
Filesystem Size Used Avail Use% Mounted on
/dev/xvda2 5,8G 5,7G 0 100% /
> find / -mount -type f -exec du {} + | sort -r -h | awk '{SUM += $1} END {print SUM}'
1312200
> df -i /
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/xvda2 393216 134814 258402 35% /
更新:
没有打开句柄,占用也“经受住了”重新启动
> lsof | sort -n -k7,7 | tail -n 2
sort 1162 root mem REG 202,2 99164480 19610 /usr/lib/locale/locale-archive
tail 1163 root mem REG 202,2 99164480 19610 /usr/lib/locale/locale-archive
我正在寻找据称占据空间的方法(以及如何占据空间)?
解决方案:
@michael-hampton 提到的上一个问题 磁盘已满,du 显示不同。如何进一步调查? 解决了我的问题:我在 /opt 中的路径上进行了 nfs 挂载 - 挂载时磁盘上的 4.4GB 文件在命名空间中“隐藏”且不可见。卸载所有远程文件系统后,我能够发现这些文件。
答案1
您可能有一个已被删除的文件,但文件描述符仍然由进程打开。
看一眼lsof | grep deleted
答案2
如果已满,写入新文件将会失败并出现错误。
尝试基于树的磁盘使用情况工具,例如ncdu
您可以看到层次结构各级的最大目录。