死ぬほど断片化したドライブをデフラグ

空き容量1%の攻防を繰り広げながら使用*1していた、あるPCのCドライブが、あり得ないほど断片化していた。デフラグするため、とりあえずいらなそうなソフトやファイルを消して、空き容量を20%にする。
解析したところ、最高で60000断片。10000断片を超えるファイルが数十個という冗談のような状態。デフラグを開始したが、あまりに断片化しすぎたせいか、断片数の桁が大きいファイルは一切無視されたまま、デフラグが途中で終わる。
しょうがないのでフリーのデフラグツールをいろいろ使用してみたが、最強と呼び名も高い「ultradefrag」ですら、デフラグ途中で終わる有様だ。
これはもうだめかもわからんね、とか思いつつ、そういえば単独のファイルをデフラグできるツールが紹介されていたことを思い出して、「デフラグ ファイル」で検索したところ、「Defraggler」というソフトが見つかった。試しに60000断片のファイルをデフラグしてみたところ、4断片までこぎつけた。すばらしい。
ドライブ全てを対象にして、10時間ほど放置してみたところ、ほとんど全てのファイルが一桁断片になった。マーベラス
だが一人だけ、数万断片を保持したままのファイルが残っていた。その名も「pagefile.sys」。仮想メモリファイルだ。何で仮想メモリがそんなに断片化しているんだと思ったら、仮想メモリのサイズが可変だった。6年前のおれはアホか。
とりあえず、仮想メモリ用の連続した領域を確保するため、ファイルが寄るようなデフラグ「ultradefrag」のcompactを実行した。それなりに連続した領域が空いたっぽいので、断片化した仮想メモリを削除/新規作成して対応する事にした。
まず仮想メモリを使用しない設定にしてリブートする。起動後、動作がおかしい。フリーズしまくっている。まあ、仮想メモリを使用しない設定にしたからだろう。セーフモードで立ち上げて、仮想メモリのサイズを固定にしてリブート。正常に動作するようになった。仮想メモリは2断片になっているが、この程度なら問題ないだろう。
この話の教訓は2つ。
1.仮想メモリは固定サイズにしておけ。
2.システムドライブの空き容量は常に30%程度確保しておけ。

*1:断片化を促進するための最高の方法の一つ