gpt4 book ai didi

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

转载 作者:IT王子 更新时间:2023-10-29 01:27:21 32 4
gpt4 key购买 nike

我有一个包含很多KVM qcow2文件的文件夹,它们都是稀疏文件。现在我需要获取文件夹的总大小,qcow2 文件大小应该算作表观大小(不是实际大小)。

例如:

图像:c9f38caf104b4d338cc1bbdd640dca89.qcow2文件格式:qcow2虚拟大小:100G(107374182400 字节)磁盘大小:3.3M集群大小:65536

图像应该被视为100G而不是3.3M

最初我使用 statvfs() 但它只能返回文件夹的实际大小。然后我切换到“du --apparent-size”,但考虑到我有 10000 多个文件,它太慢了,计算需要将近 5 分钟。

有人知道一种快速获取文件夹大小的方法来计算 qcow2 的虚拟大小吗?谢谢

最佳答案

如果不 stat() 访问目录中的每个文件,就无法找到此信息。如果您在一个目录中有这么多文件,速度会很慢。 stat() 需要检索每个文件的 inode 。

添加更多内存可能有助于缓存。

关于linux - 如何获取文件夹的大小,包括稀疏文件的表观大小? (du太慢了),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13961607/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com