ænd*_*rük 38
所述填零方法(这里修改以避免潜在的内存瓶颈)花了17秒,以创建上的SSD 10 GB的文件和引起Ubuntu的图形界面无响应。
$ time sh -c 'dd if=/dev/zero iflag=count_bytes count=10G bs=1M of=large; sync'
10240+0 records in
10240+0 records out
10737418240 bytes (11 GB, 10 GiB) copied, 17.2003 s, 624 MB/s
real 0m17.642s
user 0m0.008s
sys 0m9.404s
$ du -B 1 --apparent-size large
10737418240 large
$ du -B 1 large
10737422336 large
Run Code Online (Sandbox Code Playgroud)
fallocate通过直接操作文件分配的磁盘空间来立即创建大文件:
$ time sh -c 'fallocate -l 10G large; sync'
real 0m0.038s
user 0m0.000s
sys 0m0.016s
$ du -B 1 --apparent-size large
10737418240 large
$ du -B 1 large
10737422336 large
Run Code Online (Sandbox Code Playgroud)
truncate也可以立即工作,并创建稀疏文件,这些文件在稍后写入数据之前不会占用实际磁盘空间:
$ time sh -c 'truncate -s 10G large; sync'
real 0m0.014s
user 0m0.000s
sys 0m0.004s
$ du -B 1 --apparent-size large
10737418240 large
$ du -B 1 large
0 large
Run Code Online (Sandbox Code Playgroud)
Mik*_*eVB 21
一种简单的方法是使用该dd
命令写入一个全为零的文件。
dd if=/dev/zero of=outputFile bs=2G count=1
Run Code Online (Sandbox Code Playgroud)
如果您想要计算机 (1024*1024*1024) GB,请在 size 参数中使用 G,如果您想要人类 (1000*1000*1000) GB,请在大小参数中使用 G。