- 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)优势是:只在实际需要空间时才分配存储空间:这样能节省磁盘空间。
- 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
- truncate
网友评论