我想查看目录的大小。
目录是xen domU image。
目录名是xendisk
du -sh ./xendisk
返回5.4G。
但xen domU图片大小为10G。
发生了什么事?
答案 0 :(得分:0)
您为图片创建了sparse file。如果您使用truncate -s 10G domU.img
之类的命令来创建图像,那么这就是结果。
我链接的wiki有更多信息,但基本上稀疏文件是文件的空白部分不占用空间的文件。这在处理VM时非常有用,因为在大多数情况下,您的VM只占用可用空间的一小部分,因此使用稀疏文件意味着它在文件系统上占用的空间要少得多(正如您所观察到的那样)。文章指出,这是通过以下机制实现的:
读取稀疏文件时,文件系统会透明地转换 将空块表示为填充零的“实际”块的元数据 运行时的字节数。该应用程序不知道这种转换。
如果您需要使用du
检查大小,您可能会对--apparent-size
选项感兴趣,该选项将包括计算中的所有未分配块。因此,如果您需要输出以匹配ls
告诉您的内容,则可以使用此命令:
du -sh --apparent-size ./xendisk