GNU/Linux >> Linux の 問題 >  >> Linux

Linuxでハードドライブをいっぱいにする方法

seek=<big number> のトラブル トリックは、ファイルシステムが (通常) 巧妙であるということです:ファイルの一部が書き込まれたことがない (したがってすべてゼロである) 場合、そのファイルにスペースを割り当てる必要はありません。スペースを占有しない 10 GB のファイルを持つことができます (これは「スパース ファイル」と呼ばれ、特定のデータベースの実装など、場合によっては非常に役立ちます)。

スペースを強制的に割り当てることができます (例):

dd if=/dev/zero of=filename bs=$((1024*1024)) count=$((10*1024))

これにはさらに時間がかかりますが、実際にはディスクがいっぱいになります。 dd のシステム コールの数が決まるため、ブロック サイズを 1 よりもかなり大きくすることをお勧めします。 プロセスが作る - ブロックサイズが小さいほど、syscall が多くなるため、実行が遅くなります。 (ただし、1MB 程度を超えると、おそらく大きな違いはなく、動作が遅くなる可能性さえあります...)


これに対する別のオプションとして、単一の文字列とともに yes を使用できます。これは、dd if=/dev/urandom of=largefile を実行するよりも約 10 倍高速です。このように

yes abcdefghijklmnopqrstuvwxyz0123456789 > largefile

「スパース ファイル」と呼ばれるものを作成しました。このファイルは、ほとんどが空であるため (つまり、\0 として読み戻されます)、実際に書き込まれるもの (1B、10GB 後) 以外にディスク上のスペースを必要としません。のギャップ)

巨大なファイルを作成して、実際のディスク スペースを瞬時に使用できるとは思えません。物理スペースを使用するということは、ファイル システムがファイルにディスク ブロックを割り当てる必要があることを意味します。

ドライブのシーケンシャル書き込み速度によって制限される、昔ながらの「dd if=/dev/zero of=filename bs=100M count=100」にこだわっていると思います。


Linux
  1. Linuxでスワップスペースを作成または増やす方法

  2. Linux +スペースのあるファイルを無視(フィルター)する方法は?

  3. Linuxでファイルの名前を変更するにはどうすればよいですか?

  1. Etcherを使用してLinuxでISOファイルをUSBドライブに書き込む方法

  2. Linuxでファイルを見つける方法

  3. Linux で空きディスク領域を消去するには?

  1. Linuxでハードドライブを交換する方法

  2. Linuxでファイルを移動する方法

  3. Linuxファイル機能を管理する方法