有時我們需要測試服務器空間不足時程序的性能。這時你就需要手動對服務器創建大文件使其空間不足了。
我在百度之后發現了三個命令: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命令十分強大,我只是使用了它其中的一種,以后還需學習其他用法。
————————————————
版權聲明:本文為CSDN博主「stalin_」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/stalin_/article/details/81328409