运维开发网

在Linux中如何获取文件夹的大小,包括稀疏文件的表观大小? (杜太慢了)

运维开发网 https://www.qedev.com 2020-06-09 16:06 出处:网络
我有一个包含大量KVM qcow2文件的文件夹,它们都是稀疏文件. 现在我需要获取文件夹的总大小,qcow2文件大小应该算作表观大小(不是实际大小).
我有一个包含大量KVM qcow2文件的文件夹,它们都是稀疏文件.

现在我需要获取文件夹的总大小,qcow2文件大小应该算作表观大小(不是实际大小).

例如:

图像:c9f38caf104b4d338cc1bbdd640dca89.qcow2

文件格式:qcow2

虚拟大小:100G(107374182400字节)

磁盘大小:3.3M

cluster_size:65536

图像应视为100G但不是3.3M

最初我使用statvfs()但它只能返回文件夹的实际大小.然后我切换到’du –apparent-size’,但是由于我有10000个文件而且它需要将近5分钟来计算,所以它太慢了.

任何人都知道一个快速的方法,可以获得计算qcow2的虚拟大小的文件夹的大小?谢谢

如果没有stat()目录中的每个文件,就无法找到此信息.如果在单个目录中包含这么多文件,则速度很慢. stat()需要检索每个文件的inode.

由于缓存,添加更多内存可能会有所帮助.

0

精彩评论

暂无评论...
验证码 换一张
取 消