Windows TIPS
[Tools & Services]
  Windows TIPS TOPへ
Windows TIPS全リストへ
内容別分類一覧へ

contigツールでファイルを個別にデフラグする

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

デジタルアドバンテージ 打越 浩幸
2008/07/18
対象OS
Windows 2000
Windows XP
Windows Server 2003
Windows Vista
Windows Server 2008
ファイルのフラグメントが増えてくると、ファイルへのアクセス速度が下がり、パフォーマンスが低下する。
フラグメントを解消するにはOS標準のデフラグ・ツールなどを利用すればよいが、これはディスク全体をデフラグするため、時間がかかる。
contigというツールを利用すれば、必要なファイルだけを個別にデフラグできる。

解説

 デフラグ・ツールは、フラグメント化が進んだファイル・システムを整理し、ファイルを配置し直すことによって、ディスク・アクセスの効率化、高速化を助けるためのツールである。市販のツールもあるが、一般的には[スタート]メニューの[アクセサリ]−[システム ツール]−[デフラグ]に登録されているコマンドを利用しているユーザーも少なくないだろう。[最適化]ボタンをクリックするだけで、ユーザーはほとんど何もしなくても、後は自動的にデフラグ作業を行ってくれる。

 だがこのツールでは、常にディスク全体をデフラグしようとする(指定されたディスク上の全ファイルがデフラグの対象になる)。そのため、一度作業を始めると、非常に時間がかかるという問題点がある。最近ではシステムに装着されているディスク・サイズも大きく、作業終了までに数時間もかかる可能性がある。デフラグしたいファイルが少ない場合はこれでは効率が悪い。

 このような場合は、ファイルを指定してデフラグできると便利である。市販ツールではこのような機能を備えたものもあるが、Windows標準のデフラグ・ツールでは、これはできない。そこで本TIPSでは、Windows Sysinternalsサイトで無償配布されている、ファイルを対象とするcontig.exeデフラグ・ツールを紹介する。

 contig(contiguity=連続)は、コマンドライン上で動作する、ファイル専用のデフラグ・ツールである。ユーザーが指定したファイルのみをデフラグすることにより、必要なファイルだけをすばやくデフラグすることができる。Virtual PCやVirtual Serverなどの仮想ディスク・ファイルやデータベース・ファイルなど、サイズが大きくなりやすいファイルだけをデフラグすれば、あまり時間をかけずに、(よく使う)特定のファイルだけをデフラグできる。また、ディスク全体をデフラグしたけれども、その後またフラグメントが発生したような場合に、これを使って、特定のファイルだけをまたデフラグするとよい(全体をデフラグするよりも時間を節約できる)。

 ただし、ほかのツールのように、最初に全体的な再配置計画を立てるわけではなく、現在の空き領域の中で工夫して(なるべく連続するように配置できる場所を探して)、フラグメントを解消しているようである(ほかのファイルをわざわざ別の場所へ退避させて、大きな空き領域を作成しているわけではない)。そのため、場合によってはデフラグメントを完全に解消できないこともある。必要ならば、フルにデフラグするツールと組み合わせて使うとよいだろう。

操作方法

contigツールの入手とインストール

 contigツールはWindows Sysinternalsのサイトで配布されている。

 このページ最後にあるリンクからZIPファイル(Contig.zip)をダウンロードし、ファイルを開く。原稿執筆時点では、Ver.1.54が配布されている。中にはEULA.TXT(ライセンス条項ファイル)とcontig.exeというバイナリ・ファイルが入っているだけである。contig.exeをどこか適当なフォルダ(%windir%など)へコピーするだけで、利用できる。

contigツールを使う

 contigツールの使い方は簡単である。とりあえず引数なしで起動すると、使い方などのオプションが表示される。

D:\>contig ……引数なしで起動するとオプションが表示される

Contig v1.54 - Makes files contiguous
Copyright (C) 1998-2007 Mark Russinovich
Sysinternals - www.sysinternals.com


Contig is a utility that relies on NT's built-in defragging support
to make a specified file contiguous on disk. Use it to optimize execution
of your frequently used files.

Usage:
    contig [-v] [-a] [-s] [-q] [existing file] ……指定したファイルのデフラグ
or  contig [-v] -n [new file] [new file length] ……ファイルの作成とデフラグ

  -v: Verbose ……進ちょく状況の表示
  -a: Analyze fragmentation ……解析のみ
  -q: Quiet mode
  -s: Recurse subdirectories ……サブディレクトリの処理

 このツールの機能は2通りある。1つは指定したファイルをデフラグすること、もう1つは新しいファイルを指定されたサイズで作成し、それをデフラグすることである。後者は、あらかじめファイル領域を確保するような用途のために利用するが、作成されるファイルの内容は0で初期化されるので、使い道は限られるかもしれない。

 通常は、引数にファイル名(ワイルド・カードも指定可能)を指定して起動する。するとそのファイルがフラグメントしているかどうかを判断し、そうならばすぐにデフラグ作業を開始する。解析だけを行いたければ、-aオプションを忘れないようにしていただきたい。

D:\>dir bigdatafile.dat ……ファイルを確認してみる
 ドライブ D のボリューム ラベルは WORKVOL です
 ボリューム シリアル番号は 3419-6E05 です

 D:\ のディレクトリ

2008/07/16  12:04    15,000,000,000 bigdatafile.dat ……15Gbytesのファイル
               1 個のファイル      15,000,000,000 バイト
               0 個のディレクトリ  21,706,833,920 バイトの空き領域

D:\>contig -a bigdatafile.dat ……解析のみを行う

Contig v1.54 - Makes files contiguous
Copyright (C) 1998-2007 Mark Russinovich
Sysinternals - www.sysinternals.com

D:\bigdatafile.dat is in 139 fragments ……結果

Summary:
     Number of files processed   : 1
     Average fragmentation       : 139 frags/file ……139フラグメントあった

D:\>

 ファイルをデフラグするには、ファイル名を指定して起動するだけでよい。-vオプションを付けておくと、デフラグの進ちょく状況が表示される。そして最後にフラグメントの状況などが表示される。

D:\>contig -v bigdatafile.dat ……デフラグさせてみる

Contig v1.54 - Makes files contiguous
Copyright (C) 1998-2007 Mark Russinovich
Sysinternals - www.sysinternals.com

------------------------
Processing D:\bigdatafile.dat: ……処理中のメッセージ
Scanning file...
Scanning disk...
File is 915528 physical clusters in length. ……総クラスタ数
File is in 139 fragments. ……総フラグメント数

Moving 213648 clusters at file offset cluster 0 to disk cluster 4632814 ……移動中のメッセージ
Moving 47947 clusters at file offset cluster 213648 to disk cluster 3901212
Moving 44697 clusters at file offset cluster 261595 to disk cluster 2935406
……(中略)……
Moving 5160 clusters at file offset cluster 906970 to disk cluster 3223515
Moving 3398 clusters at file offset cluster 912130 to disk cluster 2808255
File size: 15000000000 bytes
Fragments before: 139 ……デフラグ前
Fragments after : 67 ……デフラグ後
------------------------
Summary:
     Number of files processed   : 1
     Number of files defragmented: 1
     Average fragmentation before: 139 frags/file
     Average fragmentation after : 67 frags/file ……総フラグメント数は減ったが、0になったわけではない


D:\>

 この例では、フラグメント数は半分程度になったが、完全になくなったわけではない。もっと空き容量の多いディスク上ならばよい結果が得られたものと思われる。End of Article

「Windows TIPS」


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

注目のテーマ

Windows Server Insider 記事ランキング

本日 月間