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

linux – 如何获取文件夹的大小,包括稀疏文件的表观大小? (杜太慢了),第1张

概述我有一个包含大量KVM qcow2文件的文件夹,它们都是稀疏文件. 现在我需要获取文件夹的总大小,qcow2文件大小应该算作表观大小(不是实际大小). 例如: 图像:c9f38caf104b4d338cc1bbdd640dca89.qcow2 文件格式:qcow2 虚拟大小:100G(107374182400字节) 磁盘大小:3.3M cluster_size:65536 图像应视为100G但不是 我有一个包含大量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.

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

总结

以上是内存溢出为你收集整理的linux – 如何获取文件夹的大小,包括稀疏文件的表观大小? (杜太慢了)全部内容,希望文章能够帮你解决linux – 如何获取文件夹的大小,包括稀疏文件的表观大小? (杜太慢了)所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1017835.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存