デフラグでファイルシステムパフォーマンスを改善

Windowsが採用しているファイルシステム(NTFS、FAT、FAT32、ReFS)はデフラグと呼ばれる最適化を行うことでパフォーマンスが改善することが知られている。最近のハードウェアおよびWindows 10などの新しいWindowsを使っている限り、デフラグを自分で実施する必要はほとんどないが、ファイルシステムのパフォーマンス低下が気になってきたのであれば、試してよいだろう。

デフラグの実行は次のようにdefragコマンドで実行する。

defragコマンドの基本的な使い方 その1

defrag ボリューム | /C | /E ボリューム [/H] [/M [n]| [/U] [/V]]

defragコマンドの基本的な使い方 その2

defrag ボリューム | /C | /E ボリューム /A [/H] [/M [n]| [/U] [/V]]

defragコマンドの基本的な使い方 その3

defrag ボリューム | /C | /E ボリューム /X [/H] [/M [n]| [/U] [/V]]

defragコマンドの基本的な使い方 その4

defrag <volume> [/パラメータ]

defragで指定できるパラメータおよびその主な内容は次のとおり。

パラメータ 内容
ボリューム 分析やデフラグを実施するボリュームまたはマウントポイントを指定
/A 指定されたボリュームの分析を実施
/C すべてのボリュームでオペレーションを実行
/D トラディッショナルなデフラグを実行
/E 指定したボリュームを対象から除外
/G 指定したボリュームのストレージ階層を最適化
/H ノーマルプライオリティでオペレーションを実行(デフォルトのプライオリティは低い)
/I秒 ボリュームごとに指定した秒数で階層オペレーションを実施
/K 指定したボリュームでスラブ統合を実施
/L 指定したボリュームでリトリムを実施
/M ボリュームごとにオペレーションをバックグラウンドで実施
/O メディアタイプごとに適切な最適化を実施
/T 指定したボリュームにおける進捗をトラッキング
/U オペレーションの進捗状況を表示
/V フラグメンテーション情報も含めてより多くの情報を表示
/X 指定したボリュームで空き領域の統合を実施

ファイルシステムのデフラグはGUIアプリケーションから実施することができる。現在ではコマンドラインからdefragコマンドを実行するという機会はほとんどないのではないかもしれないが、コマンドラインから実行できるので、バッチファイルを作成して自動的に実行するといったことも可能だ。

ちなみに、Linuxで主に使われているファイルシステムでは、基本的にデフラグは必要ない。Linuxで使われているファイルシステムはWindowsのファイルシステムのように性能が低下しないためだ。fsckというメタデータのチェックおよび改修ユーティリティが提供されているものの、これはデフラグとは目的も処理内容も異なっている。基本的にデフラグはWindowsで実行するものだと考えてよいだろう。

defragコマンドの実行例

defragコマンドを実行するには管理者権限が必要だ。管理者権限ではないコマンドプロンプトから実行しても、defragコマンドは機能してくれない。

はじめてdefragコマンドを実行してみるなら、次のように/Uと/Vパラメータを指定した状態で実行するとよいだろう。分析や最適化のようすが表示されるため操作が進んでいることがわかりやすく、また、表示される情報も多いためdefragコマンドが実際にどのようなことをしてくれるのかが理解しやすい。

defrag C: /U /Vの実行を開始

/U /Vが指定されているため表示されるメッセージ量は多く、進捗も表示される

defragの実行が完了すると次のようにボリューム情報、断片化情報、空き容量情報、マスターファイルテーブル情報が表示される。デフラグの実行前と実行後の情報が表示されているため、断片化したファイルの数が大きく減ることを確認できる。

defrag C: /U /Vの実行結果 その1

defrag C: /U /Vの実行結果 その2

ちなみに、何のパラメータも指定してないでdefragコマンドを実行すると次のようになる。/U /Vパラメータを指定した場合と比べるとシンプルな出力だ。

defragコマンドの実行例

進捗を表示するパラメータを指定しないと、途中は処理が進んでいるのか止まっているのかよくわからなくなる。そんな時は次のようにタスクマネージャを起動してリソースの消費状況をチェックしてみるとよいだろう。ディスクI/Oが極めて高い状況が確認できるはずだ。

defragの実行中はディスクI/O負荷が高い状況になる

デフラグはそう頻繁に実行するものではないのだが、ファイルの分断化が激しくなってきたら実行してみるとよい。

参考資料