加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

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

发布时间:2020-12-13 22:54:01 所属栏目:Linux 来源:网络整理
导读:我有一个包含大量KVM qcow2文件的文件夹,它们都是稀疏文件. 现在我需要获取文件夹的总大小,qcow2文件大小应该算作表观大小(不是实际大小). 例如: 图像:c9f38caf104b4d338cc1bbdd640dca89.qcow2 文件格式:qcow2 虚拟大小:100G(107374182400字节) 磁盘大小
我有一个包含大量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.

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读