有时我们需要测试服务器空间不足时程序的性能。这时你就需要手动对服务器创建大文件使其空间不足了。
我在百度之后发现了三个命令: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命令十分强大,我只是使用了它其中的一种,以后还需学习其他用法。