考察家目录, 可能存在大量稀疏文件:
df 看是 占用 100% 占用 216509100 KB
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda3 228169132 216509100 0 100% /home
du -s . 看 结果为 216447608 KB
find . | xargs ls -l | awk '{s+=$5}END{print s/1024}' 看大概 4.32343+e8 Byte
find . -type f | xargs ls -s | awk '{s+=$5}END{print s/1024}' 看结果为 216167656 KB
find . -type f | xargs du -c 看结果为 7893728 KB
find . -type f | xargs du -c --apparent-size 看结果为 1592288 KB
哪哪都不一样, 非常费解, 请教大家
find . | xargs ls -l | awk '{s+=$5}END{print s/1024}' 看大概 **4.32343+e8 Byte**
写错了, ls -l 对 目录 和 文件的输出格式不同, awk 统计错了;
更正为
或者:
1
xyjincan 2022-11-24 20:40:51 +08:00 via Android
有问题重启一下,没问题删点东西
|
2
ho121 2022-11-24 20:53:53 +08:00 via Android
ls -als
第一列,就是实际占用大小 |
3
zhoudaiyu 2022-11-24 21:21:35 +08:00
lsof -a +L1 挂载点
看一下是不是又被删了但是程序还在往里面写的文件 |
5
2NUT OP @ho121 第一列其实就是 上面 ls -s 显示的, 我通过 find 所有文件 再加和统计过了 是 216GB 确实是满了
不理解的就是 du -c 统计的 只有 7.8 GB, 似乎是稀疏文件, 但文件系统 被稀疏文件塞满了? |
6
2NUT OP 更正
find * -type f | xargs du -c --apparent-size 结果为 6260885 KB find * -type f | xargs du -c 结果为 6246052 KB 也就是说 其实现在的 区别就是 ls -l 和 du -c 统计结果不通 这一个矛盾, 考虑到 稀疏文件的影响, 确实 du 实际文件占用大小就是 6.x GB, 而文件的 表观大小 是 216 GB; ext4 文件系统处理 稀疏文件的行为是如何的? |
7
edis0n0 2022-11-24 23:05:16 +08:00 1
重启 nginx 试试,nginx 上传没落盘就是稀疏文件,我们几次出现这问题都是上传接口被刷了
|