デフラグするとHDDの寿命が縮む?
かようなメリットのあるデフラグだが、一方でデフラグすることを嫌がる人もいる。デフラグ中はHDDを長時間激しく読み書きするため、パソコンの使用中には動作速度が低下してしまうし、処理全体の時間もかかる、という点で嫌われることがある。また激しい読み書きを連続で行なうため、「むしろHDDのメカ部分の寿命を縮めるのではないか」と懸念する声もある。
また、デフラグすればパフォーマンスが上がると言っても、よほど酷い状況からの回復を除けばその差は体感しにくい。ベンチマークソフトで簡単に差を計測できるものでもないので、ユーザーにとってあまり効果が見えない点が、デフラグに無関心なユーザーが多い一因ではないだろうか。
はたして、デフラグはHDDの寿命を縮めるのだろうか? HDDメーカーである米シーゲイト社は、「デフラグで寿命が延びるという定量的なデータはない」としたうえで、デフラグをこまめに実行することを勧めている。
断片化したデータが多い場合、HDDの読み取りヘッドは頻繁にシーク動作を起こす。その結果、ヘッドを支えるアームを動かすモーターが余分に動作して熱を発し、HDD全体を加熱する。この加熱が電子部品に対するストレスを増加させ、平均故障率を引き上げる可能性がある。
一方で、デフラグ操作による部品寿命への悪影響については、HDDメーカーの日立グローバルストレージテクノロジーズ(株)では、その悪影響を「無視できるレベル」としている。これらの意見をまとめると、デフラグすることによる悪影響よりも、しないことによる悪影響の方が高そうだ。
また、パフォーマンスの改善という面では、シーク動作によるタイムロスを防ぐ以外にもデフラグの効果はあるとシーゲイト社は述べる。断片化したデータを読み込む際には、読み取りデータをHDD上で一時蓄積しておくバッファメモリーを分割して使用するなど、無駄が多くなる。しかしデフラグされて連続したデータであれば、バッファを効率よく利用して先読みすることで、高速に読み出せるというわけだ。
なおVistaの場合、後述する「ロープライオリティI/O」を活用するデフラグソフトであれば、ユーザーの操作によるHDDアクセスが優先されるので、(程度の差はあるが)パソコンを使いながらでもデフラグできるようになっている。
いずれにしても、デフラグは適時実行する方が、HDDのパフォーマンス改善と信頼性の向上につながると言ってよさそうだ。
ロープライオリティI/O
ロープライオリティI/Oとは、Vistaで導入された目立たない、だがパフォーマンス改善に有効な機能である。
簡単に言えばロープライオリティI/Oとは、プロセス(プログラムの実行単位)の優先順位と同様に、I/Oアクセスにも優先順位を付けて処理することで、ユーザーが操作しているアプリケーションの体感パフォーマンス低下を避ける機能である。
HDDに対して複数のプロセスが同時に読み込みや書き込みの要求を出した場合、Windows XPまでは要求が行なわれた順に処理を行なっていた。そのため、ウイルスチェッカーやデフラグツールのように、激しくHDDアクセスを行なうアプリケーションがバックグラウンドで動作していると、ユーザーが操作している(フォアグラウンドの)アプリケーションのHDDアクセスが後回しになってしまうことが多々あり、結果としてHDD待ちによる「動作が遅い」といった印象をユーザーに与えていた。
このような場合に、デフラグやウイルスチェッカーがロープライオリティI/Oを使うように設計されていると、デフラグ処理中に通常優先度のプロセス(一般的なアプリケーションやOSのファイル操作)がHDDアクセスを行なおうとすると、処理の順番を譲って通常優先度のプロセスのHDDアクセスを先に行なわせることができる。
これにより、ウイルスチェックをしながらでも、ユーザーが今操作しているアプリケーションのHDDアクセスは妨げられず、パフォーマンスが低下しにくくなる。