Windows TIPS
[System Environment]
  Windows TIPS TOPへ
Windows TIPS全リストへ
内容別分類一覧へ

ページ・ファイルを別ドライブに一時待避し、デフラグを効率よく行う方法

解説をスキップして操作方法を読む

デジタルアドバンテージ
2000/08/01
2002/04/05 更新
 
対象OS
Windows 2000 Professional
Windows XP Professional
Windows XP Home Edition
Windows 2000 Server
Windows 2000 Advanced Server
ディスクのデフラグメントを効率よく行うには、物理的に連続したディスクの空き領域が必要である。
空き領域が少なくて効率よくデフラグできないなら、サイズも大きく、デフラグ時に移動不能な壁となるページ・ファイルを別ボリュームに一時的に移動するとよい。
 
解説

 Windows NTとともに、新しいファイル・システムであるNTFSが披露されたとき、マイクロソフトは、「NTFSでは、FATのようなフラグメント(断片化)は発生しにくい」という説明をしていた。しかし実際には、NTFSでも、ファイルの作成や削除を繰り返せばフラグメントが発生することが分かったし、フラグメントによってファイル・アクセスの速度が低下することも分かった。このためNTFSに対応したデフラグメント・ソフトウェア(断片化されたブロックを整理・移動して、なるべくファイルの物理的な配置が連続するように変更するソフトウェア)が長く求められてきたのだが、残念ながらWindows NT 4.0までは、システム標準のデフラグメント・ツールは提供されておらず、デフラグを行いたいユーザーは、サードパーティのExecutive Softwareが開発したDiskeeper(ディスキーパー、国内販売は相栄電器)と呼ばれるパッケージ製品を購入しなければならなかった。

 これに対しWindows 2000からは、NTFSに対応した待望のデフラグ・ツールが標準で搭載された。実際のところ、Windows 2000/XPに標準搭載されたデフラグ・ツールは、前出のDiskeeperから、基本的なデフラグメントの機能だけを取り出した機能制限版である。これに対し、Executive Softwareはフル機能版のDiskeeperを販売している。このフル機能版に比較すると、Windows 2000/XP標準添付版では、(1)ローカル ボリュームのみデフラグ可能、(2)複数ボリュームの同時デフラグ処理は不可、(3)ほかのボリュームを分析している最中はデフラグ不可、(4)スクリプト実行は不可、(5)スケジュール実行は不可、などの制限がある(ただしWindows XPでは、Windows 2000にはなかったコマンドライン版のデフラグ・ツールが追加され、これとWindows標準のスケジュール機能を組み合わせることで、デフラグメント処理のスケジュール実行が可能になった。詳細は別稿「Windows TIPS:ディスク・デフラグ・ツールの制限について」を参照)。

デフラグを効率的に実行するには、まとまった空き領域が必要

 デフラグを実行するには、エクスプローラで目的のドライブを選択し、マウスを右クリックして表示されるショートカット・メニューの[プロパティ]を実行し、表示される[ローカル ディスクのプロパティ]ダイアログ−[ツール]タブにある[最適化する]ボタンをクリックするか、[スタート]メニュー−[プログラム](Windows XPでは[すべてのプログラム])−[アクセサリ]−[システム ツール]−[ディスク デフラグ]を実行する。

Windows 2000/XPに標準で組み込まれているディスク・デフラグ・ツール
Windows 2000/XPでは、デフラグ・ツールが標準添付されるようになった。これは別売りされているDiskeeperの機能制限版で、スケジュール機能などが用意されていないが、基本的なデフラグ機能はフル版と変わらない。

 [ディスク デフラグ ツール]ダイアログ・ボックスが表示されたら、デフラグしたいディスク・ボリュームをマウスで選択して、[最適化]ボタンをクリックすればよい。するとボリュームのフラグメント状況が分析され、その後デフラグが開始される(デフラグの必要がなければ、その旨通知される)。基本的なデフラグメントのメカニズムは、空き領域をうまく使いながら、分断された領域を整理統合していくわけだが、まとまった連続空き領域が存在しないと、効率よくデフラグ処理が行えない。例えば次のメッセージ・ボックスは、最適化を開始しようとしたところ表示された警告メッセージで、ディスクの空き領域は22%もあるのに、デフラグに使用できるのはたった2%しかないと告知するものだ。これでも、[はい]をクリックすれば、デフラグ処理を開始することが可能だが、効率的なデフラグ処理は望めないだろう。

デフラグ起動時の警告メッセージ
効率よくデフラグを行うには、ディスク内に連続した空き領域がなければならない。空き領域が存在していても、物理的に連続していないと効率的なデフラグは行えない。この例では、空き領域自体は22%も存在するのに、デフラグ・ツールで使用可能な領域はたったの2%しかないと報告している。つまりフラグメントがあまりに進んでしまうと、デフラグも困難になってしまうということだ。

 このような問題が発生する大きな原因の1つは、仮想メモリ用として使用されるページ・ファイルのフラグメントである。ページ・ファイルは、Windows 2000/XPの仮想メモリ システムが使用するファイルで、通常は起動ドライブ(%SystemDrive%)に隠しファイルとして確保される。このページ・ファイルは、システムの起動時にロックされるので、デフラグメント・ツールを実行しても移動対象からは除外される。ディスクに空き領域があっても、移動不能なページ・ファイルが激しくフラグメントを起こしていると、それらが壁となって効率的なデフラグメントが実行できなくなってしまうというわけだ。なお、このような事態を未然に防ぐ方法については、別稿「Windows TIPS:ページ・ファイルによるディスクのフラグメントを防止する方法」を参照のこと。


操作方法

そんなときには、ページ・ファイルを移動して一時的に空き領域を作る

 このような場合には、一時的に、まとまった連続空き領域をディスク・ボリュームに作り出せばよい。どのような場合でも使える手ではないが、最も簡単な方法は、仮想メモリ用のページ・ファイル(スワップ・ファイル)を一時的に別ドライブに待避させる方法である。このページ・ファイルは、デフォルトでは搭載物理メモリ容量の1.5倍が確保される(例えば、128Mbytesの物理メモリを搭載しているなら、192Mbytesのページ・ファイルが確保される)。Windows 2000/XPのページ・ファイルは、必ずしも物理的にクラスタが連続している必要はないのだが、通常ページ・ファイルは、システムを使い始めた初期(つまり、ディスクのフラグメントが進んでいない状態のとき)にディスク内に確保されるため、多くは連続領域になっていると期待できる。従ってこのページ・ファイルを一時的に移動すれば、デフラグ用の連続した空き領域を効率よく作ることができるというわけだ。

 ただしこれを行うには、ページ・ファイルを一時的に待避できる、デフラグ対象とは別のローカル・ボリュームが存在しなければならない。これは、物理的な別ドライブでなくても、別の論理ボリュームが存在すればよいので、例えば現在使っているボリュームに空き領域があるなら、同一ディスク内に別のパーティションを設け、新しく作成したボリュームにページ・ファイルを移行してもよい(パーティション・ツールなどを使えば、既存パーティションの内容を消すことなく、新しいパーティションを作成できる)。ただし状況から考えると、そのような空き領域はない場合が多いだろう。その場合は、一時的でよいので、別途ハードディスクを追加することを検討しよう。

 今回の操作を図示すると次のようになる。

ページ・ファイルを一時的に移動したデフラグの実行方法
連続した空き領域が存在しないと、デフラグは効率的には行えない。これには、物理的に連続している可能性が高く、サイズも大きなページ・ファイルを一時的に別ボリュームに移行して、デフラグを実行し、再度ページ・ファイルを戻せばよい。
  デフラグ実行前。フラグメントが進んで、使用済領域や空き領域が断片化している。デフラグを実行したいところだが、あいにく空き領域が少ないので、効率的なデフラグを行うのは困難である。
  そこで、ドライブ1にあるページ・ファイルを一時的にドライブ2に移行させる。こうすると、ドライブ1に、物理的に連続した空き領域ができる。こうしてできた空き領域を活用して、デフラグを効率よく実行する。
  デフラグが完了したら、ドライブ2に一時待避したページ・ファイルをドライブ1に戻す。

操作手順(1):ページ・ファイルを別ボリュームに移行する

 以下では、前出の図の「ドライブ1」がC:ドライブ、「ドライブ2」がD:ドライブだとして具体的な操作手順を説明していこう。なお、以下で紹介するすべての操作を実行するには管理者権限(Administratorsグループ権限)が必要になる。

 最初は、C:ドライブに置かれているページ・ファイルを、D:ドライブに移行する必要がある。これには、コントロール・パネルの[システム]アプレットを実行し(または[マイ コンピュータ]アイコンを右クリックし、表示されるショートカット・メニューの[プロパティ]を実行する)、[詳細]タブにある[パフォーマンス]グループの[パフォーマンス オプション]ボタンをクリックする(Windows XPでは、[システムのプロパティ]ダイアログ−[詳細設定]タブ−[パフォーマンス]グループの[設定]ボタンをクリックする)。

コントロール・パネルの[システム]アプレット−[詳細]タブ
ページ・ファイルの各種設定を行うには、コントロール パネルの[システム]アプレットを起動し、[詳細]タブにある[パフォーマンス オプション]ボタンをクリックする(画面はWindows 2000の場合。Windows XPでは、[システムのプロパティ]ダイアログ−[詳細設定]タブ−[パフォーマンス]グループの[設定]ボタンをクリックする)。
  ページ・ファイルのサイズ変更や、ページ・ファイルを確保するボリュームの変更などを行うにはこのボタンをクリックする。→

 すると次のようなダイアログが表示される。下の画面はWindows 2000のものである。Windows XPでは、[パフォーマンス オプション]ダイアログに[視覚効果]と[詳細設定]という2つのタブがある。ここで[詳細設定]をクリックすると、下のダイアログとほぼ同じものが表示される。

[パフォーマンス オプション]ダイアログ(Windows 2000の場合)
[仮想メモリ]グループには、現在のページ・ファイルのトータル・サイズが表示されている(この例では384Mbytes)。
  ページ・ファイルの設定を行うには、このボタンをクリックする。→
 
[仮想メモリ]ダイアログ
ここではページ・ファイル・サイズの変更や、ページ・ファイルを確保するドライブ指定などを行える。画面はWindows 2000でのものだが、Windows XPでもほぼ同等である。システムに複数のボリュームが存在しているときには、ページ・ファイルを一方のボリュームから別のボリュームに移行したり、必要なら、複数のボリュームにページ・ファイルを分散させたりできる。ページ・ファイルを別ボリュームに移行させたければ、現在確保しているボリューム側の初期サイズ、最大サイズともに設定を「0」にすればよい。
  システムのボリューム構成と現在のページ・ファイル設定。この例では、システムに2つのボリューム(CドライブとDドライブ)があり、このうちのCドライブに150Mbytesのページ・ファイルが確保されているという意味。「150−150」と表記されているのは、それぞれ初期サイズ(左側)と最大サイズ(右側)。
  ページ・ファイルの初期サイズ。実際に使用するかどうかとは無関係に、無条件に生成されるページ・ファイルのサイズ。通常は搭載物理メモリの1.5倍の値になっている。
  ページ・ファイルの最大サイズ。大量の仮想メモリが必要になったときには、ページ・ファイルが拡張されるのだが、その最大サイズをここで指定する。デフォルトでは、上の[初期サイズ]の2倍の値が指定されている。

 このように[仮想メモリ]ダイアログの最上部には、現在のページ・ファイルの状態が表示される。今回ご紹介した例では、システムに2つのボリューム(CドライブとDドライブ)があり、このうちのCドライブに150Mbytesのページ・ファイルが確保されている。「150−150」という表記は、左側が初期サイズ、右が最大サイズを表しており、この例ではともに150Mbytesということになる。

 ページ・ファイルのボリュームを移行するには、まず上のドライブ一覧(画面の)から現在のドライブ(この例ではCドライブ)を選択する。すると下の初期サイズ()と最大サイズ()に現在の値が表示される。そこでこれらの値を、いずれも「0」にし、右の[設定]ボタンをクリックする。なおWindows XPの[仮想メモリ]ダイアログでは、[ページング ファイルなし]という選択肢が用意されている。Windows XPなら単純にこれを選択するだけでもよい。

 次に、移行先のドライブ(今回の例ではDドライブ)をの一覧から選択する。現在、Dドライブにはページ・ファイルがないので、選択しても[初期サイズ]や[最大サイズ]は空白のままになる。そこでこれらに、初期サイズと最大サイズを指定する。今回は、Cドライブで確保していた150Mbytesをそのまま指定した。指定したら、前と同じように右の[設定]ボタンをクリックする。するとダイアログの表示は次のようになる。

ページ・ファイルの移動設定を行った後の[仮想メモリ]ダイアログ
設定完了後の[仮想メモリ]ダイアログ。この後[OK]ボタンをクリックし、システムを再起動すると、ページ・ファイルが移動されシステムが立ちあがる。
  設定後のページ・ファイルの構成。150Mbytesのページ・ファイルを確保する対象が、今までのCドライブからDドライブに移行していることが分かる。
  設定を確認したら、このボタンをクリックし、システムを再起動する。

 設定内容を確認したら、下の[OK]ボタンをクリックし、システムを再起動する。システムが再起動されると、新しいページ・ファイル構成でWindowsシステムが立ちあがる。

操作手順(2):ボリュームのデフラグメントを実行し、ページ・ファイルを戻す

 システムが起動したら、Cドライブのデフラグを実行する。今回はデフラグによって移動不能なページ・ファイルがDドライブに移行されており、まとまった連続空き領域が存在しているので、効率よくデフラグを行えるはずだ。

 デフラグが完了したら、再度[仮想メモリ]ダイアログを呼び出し、Dドライブに一時的に移行したページ・ファイルをCドライブに戻す。こうして再度システムを起動すると、ページ・ファイルはCドライブに確保される。今度は、フラグメントが解消された状態でページ・ファイルが確保されるので、ページ・ファイルのフラグメントも解消されることになる。End of Article

関連記事(Windows Server Insider)
  Windows TIPS:ページ・ファイルによるディスクのフラグメントを防止する方法
  Windows TIPS:最適なページ・ファイル・サイズを知るには
  Windows TIPS:ディスク デフラグ ツールの制限について
     
  関連リンク
  Diskeeper相栄電器
     
更新履歴

【2002/04/05】Windows XPに関する情報を加筆・修正しました。

 
「Windows TIPS」


Windows Server Insider フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Windows Server Insider 記事ランキング

本日 月間