Linux(创建大文件)快速把服务器空间写满

2021-11-19 18:01:12 浏览数 (1)

有时我们需要测试服务器空间不足时程序的性能。这时你就需要手动对服务器创建大文件使其空间不足了。

我在百度之后发现了三个命令:truncate   dd   fallocate

truncate命令:

它的作用是指定一个文件的大小,如果该文件不存在,就会创建该文件。如果指定文件的大小小于原先的大小,会丢失内容。

这个命令指定的文件大小其实是虚拟的。只是显示出来的大小。如果你指定一个非常大的文件。其实服务器剩余空间并不会减少。

用法:turncate -s 1G test.txt  --创建一个虚拟大小1G的test文件,其真实大小为0

dd命令:

可以创建虚拟大小的文件,也可以创建真实占用空间的文件。

真实:dd if=/dev/zero of=test.txt count=10 bs=512M   --创建一个5G大的test.txt文件

虚拟:dd if=/dev/zero of=test.txt count=10 bs=512M  seek=10G   --创建一个5G大的test.txt文件,但显示容量为10G

参数含义:

if 输入文件

of 输出文件

count 创建的文件构成的块数

bs 每块的容量大小

seek 指定的虚拟大小

/dev/zero  一个不断返回0值字节的字符设备,为了提供写入的字符。

fallocate命令:

可以直接分配一个指定容量的真实大小文件,且速度很快。

用法: falloate -l  5G test.txt  --创建一个大小为5G的真实文件

选择:最后我还是使用fallocate进行文件的创建,因为它速度较快。

注:

1.文件的虚拟大小可以通过ls/ll命令进行查看,真是大小可以通过进入文件所在目录,然后 du -sh *,找到对应文件名,看其真实大小。

2.dd命令十分强大,我只是使用了它其中的一种,以后还需学习其他用法。

5g

0 人点赞