Linux
立即填滿/使用大量磁碟空間的方法?
在 Linux VM 上,我想更深入地測試 NAGIOS 監控,而不僅僅是關閉 VM 或斷開虛擬 NIC;我想通過在短時間內佔用百分之幾的可用空間來測試或“強制執行磁碟空間警報”。
我知道我可以使用
dd if=/dev/zero of=/tmp/hd-fillup.zeros bs=1G count=50
或類似的東西……但這需要時間並載入系統,並且在使用 rm 刪除測試文件時再次需要時間。
是否有一種快速(幾乎即時)的方法來填充不會載入系統並且需要大量時間的分區?我正在考慮分配空間但不“填充”它的東西。
在 Linux 系統中創建文件的最快方法是使用
fallocate
:fallocate -l 50G file
來自男人:
fallocate 用於操作為文件分配的磁碟空間,以解除分配或預分配。
對於支持 fallocate 系統呼叫的文件系統,預分配通過分配塊並將它們標記為未初始化來快速完成,不需要對數據塊進行 IO。這比通過填充零來創建文件要快得多。
支持 XFS(自 Linux 2.6.38)、ext4(自 Linux 3.0)、Btrfs(自 Linux 3.7)和 tmpfs(自 Linux 3.5)。