デフラグとは断片化したファイルを整理して並べ直す機能です。
ハードディスクは、ディスクが回転してヘッドが動いてデータの位置まで移動します。この速度は昔からほとんど変わっておらず、無駄な動作は大きな性能低下になります。
デフラグでファイルを並べ直すことで、無駄な動作と移動にかかる時間を少なくします。
Windows XPでは、「マイコンピュータ」などから「ドライブ」を右クリックして「プロパティ」を開き、ツールタブの「最適化」でそのドライブをデフラグすることができます。
Windows Vistaでは、「コントロールパネル」の「管理ツール」の「ハード ドライブの最適化」でデフラグツールを起動することができます。Vistaでは断片化を視覚化したグラフは表示されません。
Wiundows7ではスタートメニューの[すべてのプログラム → アクセサリ→システムツール→ディスク デフラグ ツール]または「プログラムとファイルの検索」 に 「デフラグ」と入力して検索で起動できます。
断片化とはファイルの削除や追加を繰り返すことで記録したデータが散らかっていく状態を意味します。
例えば、本棚にキレイに並んでいる本をいくつか外して、別の本を入れてみます。元の本を全く動かさないで新しい本を入れようとするとバラバラになりますよね?それが断片化です。これを並べ直すのがデフラグになります。
ハードディスクでは、データを保存してある場所に移動するのにとても時間がかかります。しかも、データは常に保持されており、断片化が起きると自然解消することはなく、放置しているとデータがもっとバラバラになっていきます。
断片化した状態では、ハードディスクは読み書きのための動作が大きくなってしまうので寿命低下も考えられます。(一般的な低価格ハードディスクは品質の個体差の影響が大きいため、断片化による影響は無いようにも見えます。)
デフラグを実行し、できるだけデータが並んだ状態に整理することが必要です。
ハードディスクにとても有効ですが、USBメモリなどのフラッシュメモリにはほとんど意味がありません。これはファイルの読み書きのために移動するという動作がないためです。断片化していてもハードディスクのように極端に遅くなることがないのです。また、フラッシュメモリはデータの書き換え回数の寿命が短いため、デフラグによるデータの移動は好ましくありません。
SSDはフラッシュメモリをHDDのように使えるようにした記録デバイスです。
SSDであっても内部データが断片化すると遅くなりますが、ランダムアクセスがHDDと比較にならないほど高速であるため大きな影響はありません。しかし、主流のMLCタイプのSSDでは書き込みのための手順が複雑であり書込速度は断片化の影響を大きく受けてしまいます。
SSDを使い続けると遅くなるのはこの影響ですが、HDDのようなOS上のファイルシステムでデータを単純に移動させるデフラグはSSDに対してはほとんど意味がありません。
MLCのSSDの場合は同じ場所のデータを集中的に書き換えると寿命が大幅に短くなってしまうため、SSD内部ではわざと書き込み位置を分散させています。そのため、デフラグとは仕組みが異なる最適化でないと意味がありません。
HDDと同じデフラグを実行すると、データの移動先の書き換え寿命を減らすだけで速度は回復しないと言うことになってしまいますので、SSDのドライブに対してはデフラグを実行しないように設定が必要です。
Windows7 標準のデフラグツールの場合は、デフラグが自動で実行されるスケジュールが用意されているため、SSDを追加した場合はそのドライブのスケジュール実行のチェックを外します。
Diskeeper 2011ではSSDに対してデフラグの実行ができないようになっています。※With Hyper FastではSSD用のデフラグ(最適化)も可能になりました。
Diskeeper 2012ではHyper Fastが基本機能に統合され、Trim機能にも対応しました。
一般に普及しているMLCタイプのSSDは一度書き込みをしたブロックはすぐに書き込みを実行できないため、書き込み速度が低下します。また、書き込みを行う空き容量が断片化しているのも書き込み速度が低下してしまいます。
trim機能に対応している場合は自動でそれらの調整が成されますが、搭載されている制御コントローラの内部アルゴリズムに依存します。
一部のSSDでは専用のツールを使うことで素早く最適化を実行することができます。例えばIntel製のSSDでは専用のツールボックスを使うことでSSD用のWindowsの設定やSSDの最適化や診断を実行することができます。
Diskeeperなど一部のデフラグ用ソフトではSSDに対応しており、SSDの最適化が実行できます。
ファイルが断片化すると移動するための動作時間が長くなりますが、デフラグの実行も並べ直すための動作が発生します。
デフラグを実行している間は、そこのファイルの読み書きが遅くなってしまうので、効率の悪いデフラグは反対に動作が遅くなる原因となります。
無駄な動作が少なく、パソコンの利用に影響しないのが効率の良いデフラグです。
また、ハードディスクでは構造上、容量の先頭が高速で後ろになるほど遅くなっていきます。そのため、頻繁に読み出すファイルは先頭に配置することでアクセスを速くし、頻繁に書き換えるファイルは後ろに配置することで断片化の影響を起こりにくくなります。
ハードディスクの寿命は断片化やデフラグによる影響よりも、品質と個体差の影響がとても大きいです。ただ、頻繁にファイルの書き換えが発生するキャッシュ用ドライブなどをデフラグして激しく動作させていると理論上は寿命低下の原因になります。
デフラグは大きく断片化する前に実行することで、ハードディスクの無駄な動きを減らすことができます。
キッチリとデータを詰めて並べるデフラグというのは意外と効率が悪いものです。グラフィカルな結果の見た目は素晴らしく整っていますが、ファイルを1つ削除や更新するだけで断片化は発生します。また、新規ファイルは一番遠い場所に記録されます。
遠く保存されたファイルが頻繁に使用するファイルと一緒に必要な場合、もう一度デフラグをしないと遅くなりますが、きっちりデフラグされている場合、1つのファイルのために大量のファイルを移動し直さなければならなくなります。
例えると、コミックを1巻から隙間無く綺麗に並べて最新刊を適切な位置に置くために、他の本をたくさん移動させなければならいのです。
Windows標準のデフラグは機能が乏しく、効率の悪いデフラグになります。そのため、頻繁にデフラグを実行してもあまり変わりません。
最適化できるファイルシステムに制限があり、普通に削除や記録ができるファイル等しか扱えません。起動時間などに影響するシステムファイルは最適化できません。
Windows XPのデフラグのグラフです。赤はバラバラになってしまったファイル、青は正常に連続しているファイル、緑は移動ができないシステムファイル、白が空き領域となります。Vistaではこのようなグラフでの表示がありません。
Windowsの標準機能ではここまで悪化してしまうと最適化させることができません。
デフラグをせずにPCを使い続けると、このグラフのようになってしまいPCが不安定となります。
・ファイルの読み込みや保存に失敗する
・ファイルへのアクセスがとても遅い
・ファイルが壊れやすい
・大きなファイルを保存できない
・ファイルへのアクセスが激しくガリガリ動作してうるさい
デフラグ専用ソフトであるDiskeeperではこのように見えます。ファイルサイズの都合上、右側をカットしています。赤とピンクが断片化してパフォーマンス(アクセス性能の低下)を引き起こしているファイル群です。
こちらはDiskeeperによるデフラグ実行後のグラフです。移動できる通常のファイルが綺麗にまとめられました。移動できないシステムファイルの断片化は解消されていません。Diskeeperにはシステムファイルの断片化もWindowsの起動前にデフラグできる「ブートタイムデフラグ」機能があります。通常は、その機能によりデフラグをすると解消できるのですが、ここでは解消できませんでした。
こちらは、ファイル構造のグラフです。断片化が解消できていない理由にページファイルの過度な分割があることが分かります。
Windowsの初期状態では、ページファイルは必要に応じてファイルサイズが変化するようになっています。空き容量が断片化している状態でファイルサイズが変化したため、このように離れた場所に作られてしまったのです。これが原因で、通常のファイルもバラバラに記録されてしまい悪循環となってしまっていたのです。
この場合、ページファイルのデフラグは連続して保存するための空き容量がないためDiskeeperでもデフラグできない状態となります。そのため、ここでは空いているDドライブにページファイルを作成し、Cドライブのページファイルを削除することにしました。
ページファイルの設定の変更はWindows XP/Vista/7で同じです。
ページファイルは「コントロールパネル」→「システム」→「詳細設定」→「パフォーマンスの設定」を開きます。パフォーマンスオプションの「詳細設定」の「仮想メモリ」の変更を開きます。
Dドライブを選択して、カスタマイズ サイズの初期と最大を「2048」と入力して設定を押下します。次に、Cドライブを選択して、「ページング ファイルなし」を選択して設定をします。再起動するとCドライブのページファイルが削除されて、Dドライブに2048MB(2GB)固定のページファイルが作成されます。
2048MB=2GBです。通常はこの程度用意すれば間に合います。仮想メモリ不足でアプリケーションでエラーが生じる場合は4096MBあたりで設定しましょう。
物理メモリが空いているからとページファイルがない状態では、大量のファイルや大きなファイルを扱うアプリケーションで不具合を生じさせる恐れがあるのでおすすめしません。
ページファイルが存在しても、物理メモリが優先されるためパフォーマンスには影響しませんので、大容量のメモリを搭載している場合でも空いているドライブに2GB以上の作成することをおすすめします。
Cドライブから移動できないページファイルが取り除かれたことで、すっきりデフラグすることができました。小さくバラバラになっていた空き容量も連続した大きな空き容量にまとまりしました。
Dドライブにはページファイルが連続したファイルとして確保されます。
空き容量が転々と発生しているのが気になると思いますが、これはパフォーマンスには影響しません。必要なファイルを連続して読み出せる状態であれば良いのです。
Windows標準で足りない機能は、別売りのソフトウェア導入することで使いできます。用途に応じて機能を拡張できるのがパソコンの素晴らしいところです。
人気があるのはDiskeeperです。Diskeeper 2010以降ではIntelliWrite機能により、ファイルを書き込むときにデフラグの再実行が必要の無い記録位置に書き込まれます。通常はOSが適当な位置に書き込み、あとでそれをデフラグで移動させるのですが、そのような無駄な動作が発生しない仕組みが加わりました。
Diskeeper with HyperFastでは、SSDの空き容量の最適化が可能になりました。Diskeeper 2011ではSSDに対してもIntelliWriteが機能するようになりました。空き容量の最適化を行うことで、使い込むことで書き込み速度が遅くなる問題を解消できます。
0Fillによる最適化と異なりSSDの内部動作の仕組みの違いにより効果が無い場合もありますが、データを消去する必要が無く全面を書き込むことでの記録回数の寿命にもほとんど影響しません。
Diskeeper をインストールするとWindows標準のデフラグが表示されなくなります。
Diskeeper 12ではProPremirが無くなり、Professionalに統一されました。SSD用のHyperFastは基本機能に統合されました。
Trim機能に対応したSSDとシステムではTrim機能のチェックを忘れずに。
設定 → ボリューム → 詳細設定 で設定します。
自動でフラグを実行して欲しくない曜日や時間も同じで、ボリュームの詳細設定にあります。
SSDの自動デフラグは空き容量の最適化なので有効にしておくことをおすすめしますが、手動デフラグを実行しても効果が無いSSDの場合は無効にしましょう。
SSD自体が効率の高い自動最適化機能を持っている場合も無効にしましょう。Diskeeperの自動でフラグ機能を無効にして、断片化の進み具合で判断することができます。断片化が進まないSSDでは、Diskeeperの自動デフラグは無効で構いません。
SSDではデフラグではなく正確には最適化 (Optimize)です。HDDのデータ配置を移動させるデフラグとは仕組みが違うので混同しないように注意。
SSDの場合、分析を行わないと自動デフラグが実行されない場合があります。分析や手動での最適化の手順は、 レポート → ボリューム → パフォーマンスの概要と詳細 にあります。
レポート → ボリューム → パフォーマンス ヒストリー では、IntelliWriteにより断片化を発生させずに記録された数、デフラグによって断片化を解消した数を確認することができます。
デフラグではファイルを削除した場所に別のファイルを移動することがあります。消されたデータの場所に上書きされてしまうことで、ファイル復元ソフトでその場所にあったファイルを復元することができなくなります。
ファイルシステムに異常が生じている場合にそれらをデフラグすると、最悪な場合Windowsが起動できなくなることがあります。ディスクの故障などが疑われるときはデフラグの実行は控えましょう。とくに、異音や不良セクタが増えてくる場合は、その場所のデータは破壊されてしまうのでディスクの寿命が考えられます。
ブートタイム・オフライン デフラグはMFTに異常がないことを確認してから実行しましょう。チェックディスク(CKDSK)で問題がないことを確認し、問題があるなら/fオプションで修復してから実行する必要があります。分からない場合は、ファイルを指定して実行で「chkdsk c: /f」を入力して再起動。
・チェックディスクについて詳しくは:システムエラーやアプリケーションエラーには
書き換え可能回数が低いフラッシュメモリ(メモリカードやUSBメモリ)では、頻繁なデータの書き換え(デフラグによる移動も含む)で寿命が低下します。 デフラグはHDDのデータ間移動にかかる時間が10年以上前と同じ遅さという問題を解決するためのものです。連続したファイル配置を維持することで転送速度を遅くさせない目的があります。フラッシュメモリではモーターなど機械駆動がないためファイル配置が断片化していてもほとんど問題はありません。パフォーマンスが著しく低下した場合はデータを完全消去してフォーマットし直すのが最善です。通常のファイルの削除とフォーマットだけではデータは見えないだけでそのまま残っていますので意味がありません。