任意サイズ(〇GB)のファイルを作るには? fsutilコマンド

Windows全般
スポンサーリンク

Windowsで任意サイズのファイルを作るには、「fsutil file createnew {ファイルパス} {バイト数}」コマンドを使います。例えば「1GBぴったりのファイルを作る」といったことができ、ネットワークやストレージの転送テスト、ダミーファイルの用意といったことに活用できます。

コマンド

Windowsのコマンドプロンプトで、以下コマンドを実行します。ファイルの作成先によっては「管理者として実行」が必要な場合もあります。

1GBのファイルとして、C:\test\file.dat を作成する
  → 1(GB)×1024(MB)×1024(KB)×1024(Byte) = 1,073,741,824 Byte

fsutil file createnew C:\test\file.dat 1073741824

時間はほとんどかかりません。巨大なサイズでも、すぐに作成完了します。

何の役に立つの?

次のようなケースで有効です。

  • ネットワークの転送テスト
    • 巨大なファイルを実際にコピーしてみて、ネットワーク転送速度や負荷状況を調査するためのファイルを作る。
    • ただしSMB圧縮などには注意(後述)。
  • ストレージI/Oのテスト
    • 上と似ていますが、HDD/SSDなどのストレージ読み書き速度や負荷状況を調査するためのファイルを作る。
    • ただしその場合は、一度別ファイルとしてコピーしたほうが良い(後述)。
  • ディスク容量のテスト
    • 例えばディスククオータ機能で「このフォルダは30GBまでしか保存させない」と設定した場合の動作確認に使う。
  • ダミーデータの作成
    • プログラムのテストで、任意のサイズのダミーファイルを作成する。

留意点① ネットワーク転送テストでは圧縮転送に注意

ファイル転送プロトコルによっては、データを圧縮しながら転送する機能が働く場合があるようです(SMB圧縮など)。紹介したコマンドで作成したデータは「0」で埋め尽くされたデータになるため、圧縮機能があると転送効率が極めて高くなると思います。実際の転送データより良い結果が出てしまい、適切なテストにならない可能性が高いです。

留意点② ストレージI/Oテストでは一度別ファイルにコピーを

このコマンドで作成したばかりのファイルは、ファイルシステムによる「ごまかし」があるそうです。詳しくは@IT(別サイト)の記事を参照していただくとして、この「ごまかし」によってストレージからの読み込みは一瞬で終わるようになっています(実際にはストレージから読み込まない)。

ストレージI/Oのテストをする場合、これだと正しいテストにならないでしょう。この「ごまかし」を解除するためには、一度別ファイルとしてコピーして、そのコピーしたファイルを使う必要がありそうです。

おわりに

今回の記事は以上です。ご質問やご意見等ありましたら、下のコメント欄やtwitterからお願いします。

当サイトでは、ITインフラ関連の知識やノウハウをメインに紹介しています。下の関連記事にも役立つ情報があるかもしれませんので、ぜひご覧下さい。

また、知識やノウハウを効率的に学ぶ方法として、Udemy の「ながらセミナーもおすすめです。三日坊主にならず、普段の生活の中でスキルアップする方法です。これについては下の記事で紹介していますので、良ければご覧下さい。

もとだて
もとだて

最後まで読んでいただき、ありがとうございました。

フィードバック

コメント

タイトルとURLをコピーしました