デフラグメンテーション

出典: フリー百科事典『ウィキペディア(Wikipedia)』

デフラグメンテーション (defragmentation、しばしば略してデフラグ)とは、コンピュータファイルシステムにおけるフラグメンテーションを解消すること。

目次

[編集] 概要

ファイルの生成・更新・削除を繰り返していると、ディスク中のファイルが占める領域や空き領域がだんだんと分断化されてゆくことがある。これらをフラグメンテーション(断片化)という。ファイルが断片化すると、ひとつのデータがディスクのあちこちに点在している状態になり、余分にディスクヘッドを多く動かさなければならないため、ファイルアクセスが遅くなり、またディスク装置の寿命を縮める恐れもある。空き領域が断片化すると、大きなファイルを生成するときに断片化しやすくなる。元々は、ファイルシステムがあえて断片化を許容することでデータの柔軟な管理を可能としているため、断片化は宿命といえる。

デフラグはこのような断片化された状態を整理し、ファイルや空き領域を記憶装置中で連続的に配置し直すことによってファイルアクセスの速度を向上させる可能性がある。

もっとも、デフラグメンテーション処理自体も連続的な激しいアクセスをディスク装置に強いるため、ディスク装置の寿命を縮める可能性もある。どの程度の断片化でデフラグを行うべきで、行うべきでないのかといった議論は信頼できる実験データなどが知られておらず、経験則に基づいている模様。

[編集] フラグメンテーションの起きる原理

以下は解説の為に簡略化してある。ファイルシステムによってはフラグメンテーションが起こらないようファイルの配置が工夫されたものも多い。

凡例: □ = 空き領域、■・◆・★・● = ファイル

1. 初期状態 ■■■■■◆◆◆◆◆★★★★★□□□□□
2. ファイル◆を削除する ■■■■■□□□□□★★★★★□□□□□
3. ファイル●を生成する ■■■■■●●●●●★★★★★●●●□□

ファイル●の占めるサイズが■に続く空きに合わないため2つに分断された。これを●の断片化という。 すると、両方の場所へアクセスしないといけないため、動作が遅くなる原因になる。

[編集] ソフトウェア

おそらく最も有名なデフラグメンター(デフラグソフト)は、MS-DOSWindowsにバンドルされている「デフラグ」である。Windows2000以降はDiskeeperの基本的な機能だけを提供している。これは以前配布されていたDiskeeper Liteとほぼ同じものであり、古いデフラグと比べると大幅な改善がなされている(Windows2000以降ではデフラグのことを単に「(ディスクの)最適化」と呼んでいる)。 (完全に最適化できない、最適化してもパフォーマンスがあまり向上しない、最適化中に別の作業ができないなどの理由から市販ソフトを利用したほうが良いとの声が強い。詳しくはデフラグを参照。)

他の商用デフラグソフトにはDiskeeperPerfectDiskO&O DefragNorton SpeedDiskTechTool Pro驚速デフラグなどがある。

ソフトウェアを使わずに解消する方法としては、記憶装置のフルバックアップをとり、データを消去してファイルを再度インストールすることが挙げられる。 デフラグによってはかえってパフォーマンスが悪くなることもあるため、この手法をとることもある。また、比較的容量の小さいメディアにも用いられる。

[編集] ファイルシステム

  • FAT - defrag.exe
  • ext2 - e2defrag
  • ext3 - デフラグ・ツールを持たないが、ext2 としてマウントすることでe2defragが使用できる。
  • ReiserFS - デフラグ・ツールを持たない
  • XFS - xfs_fsr (マウント状態で使える)
  • HFS+ - Mac OS Xで使用する場合、一般的な用途の場合はデフラグ・ツールを必要としない。

[編集] 注釈