创建这么多文件,为什么做的快照很小

2024-07-17 09:46:58 浏览数 (3)

代码语言:txt复制
fsutil file createnew C:dummyfile.txt 52428800
fsutil file createnew C:empty.txt 0

这2个命令创建的空文件占底层块大小多大?

创建10个内容为空标记大小为0KB的文件

fsutil file createnew C:empty1.txt 0

fsutil file createnew C:empty2.txt 0

……

fsutil file createnew C:empty10.txt 0

创建10个内容为空标记大小为50MB的文件,1个50MB,10个500MB

fsutil file createnew C:dummyfile1.txt 52428800

fsutil file createnew C:dummyfile2.txt 52428800

……

fsutil file createnew C:dummyfile10.txt 52428800

创建这么多文件,为什么做的快照很小?

fsutil file createnew命令创建的是稀疏文件(Sparse File)。稀疏文件是一种可以用来在磁盘上更有效地使用空间的文件类型。当创建一个稀疏文件并为其指定一个大小时,文件系统只会标记文件的大小,而不会实际分配磁盘空间。只有当您实际写入数据时,文件系统才会分配磁盘空间。

所以,当运行fsutil file createnew C:dummyfile.txt 52428800时,虽然文件的大小被标记为50MB,但实际上并没有分配50MB的磁盘空间,因为文件是空的。同样,fsutil file createnew C:empty.txt 0创建的空文件也不会占用任何磁盘空间。

对于创建的10个标记大小为0KB的空文件和10个标记大小为50MB的空文件,实际占用的磁盘空间可能非常小,因为文件系统只是标记了文件的大小,而没有实际分配磁盘空间。

当对这些文件做快照时,快照只会包含文件系统的元数据(如文件大小和位置等信息),而不会包含文件的实际内容。因为这些文件都是空的,所以快照的大小会非常小。

0 人点赞