使用xen image获取目录大小

时间:2017-09-18 08:35:37

标签: linux command xen du

我想查看目录的大小。

目录是xen domU image。

目录名是xendisk

du -sh ./xendisk

返回5.4G。

但xen domU图片大小为10G。

ls -alh and du -sh image

发生了什么事?

1 个答案:

答案 0 :(得分:0)

您为图片创建了sparse file。如果您使用truncate -s 10G domU.img之类的命令来创建图像,那么这就是结果。

我链接的wiki有更多信息,但基本上稀疏文件是文件的空白部分不占用空间的文件。这在处理VM时非常有用,因为在大多数情况下,您的VM只占用可用空间的一小部分,因此使用稀疏文件意味着它在文件系统上占用的空间要少得多(正如您所观察到的那样)。文章指出,这是通过以下机制实现的:

  

读取稀疏文件时,文件系统会透明地转换   将空块表示为填充零的“实际”块的元数据   运行时的字节数。该应用程序不知道这种转换。

如果您需要使用du检查大小,您可能会对--apparent-size选项感兴趣,该选项将包括计算中的所有未分配块。因此,如果您需要输出以匹配ls告诉您的内容,则可以使用此命令:

du -sh --apparent-size ./xendisk