快速创建大文件

  1. sparse file

(1)sparse file 主要用在文件绝大多数内容为空的时候,为了文件系统更高效的使用空间。通过文件的metadata 信息来表示文件的内容是empty ,而不是实际填充空的内容到磁盘空间。
(2)占用更少的磁盘空间,用多少使用多少。
(3)读sparse file使,将metadata 表示的empty block 转换成 zero填充的实际block 内容,这种转换对应用透明不可见。
(4)Sparse files 常用于 disk images, database snapshots, log files。
(5)优势是:只在实际需要空间时才分配存储空间:这样能节省磁盘空间。

  1. fallocate
    fallocate:
    i. 为文件预分配物理空间,不是生成空洞文件;
    ii. 而且fallocate分配的空间在磁盘的扇区上是连续的;
    iii.能减少后续写入和读取文件时的磁盘寻道的资源开销;
    fallocate 稀疏语义接口
    preallocate(预分配):提供接口可以让用户预占用文件内指定范围的物理空间;
    punch hole(打洞):提供接口可以让用户释放文件内指定范围的物理空间;
fallocate -o 0 -l 4096 ./test.txt

这个命令的意思就是给text.txt这个文件 [0, 4K] 的位置分配好物理空间。

fallocate -p -o 0 -l 4096 ./test.txt

这个命令的意思是把test.txt[ 0, 4K ] 的物理空间释放掉。

truncate:
i. 生成的是空洞文件,并不占用实际的磁盘空间,
ii. 只是文件看上去逻辑大小比较大,
iii. 但实际占用的空间是0

  1. truncate
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容