我在我的FreeBSD 9.0 x64并且对此非常满意,但我发现很难计算目录的实际大小(非压缩大小)。
当然,我可以遍历目录并使用 ls 计算每个文件的大小,但我希望 du 能为此提供一些额外的键。
所以,如何知道放置在 zfs 上并开启压缩的目录大小?
提前感谢您的建议,我根本记不清有没有这样一种“简单”的方法,没有“find ./ -type d -exec ls -l '{}' \; | awk ...”!
答案1
使用du
带有其-A
标志的:
root@pg78:/usr/local/pgsql/data/base/218204 # du -A -h 221350.219
1.0G 221350.219
root@pg78:/usr/local/pgsql/data/base/218204 # du -h 221350.219
501M 221350.219
非常方便。它甚至可以用于-d
递归:
root@pg78:/usr/local/pgsql/data/base # du -h -c -d0 .
387G .
387G total
root@pg78:/usr/local/pgsql/data/base # du -A -h -c -d0 .
518G .
518G total
答案2
您可以安装 GNU 版本的du(1)
:
cd /usr/ports/sysutils/coreutils && make install clean
然后你可以使用该--apparent-size
标志:
/space# zfs create space/comptest
/space# zfs set compression=on space/comptest
/space# dd if=/dev/zero of=/space/comptest/zerofile bs=1M count=40
/space/comptest# gdu
2K .
/space/comptest# gdu --apparent-size
40961K .
答案3
尝试使用 zpool 命令:
zpool list
NAME SIZE ALLOC FREE EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOT
storage 8.93T 6.59T 2.34T - 60% 73% 2.13x ONLINE -
但 df -sh 显示结果(未删除重复的大小)
df -hT
Filesystem Type Size Used Avail Use% Mounted on
storage zfs 16T 14T 1.9T 89% /storage