ファイルハンドルを使用しているプロセス一覧を表示するツールとして、以下の2つのツールがあります。
handle.exe
openfiles.exe
項目 | handle.exe | openfiles.exe |
---|---|---|
入手方法 | Microsoft社サイトから入手 | OSに標準インストールされている |
設定方法 | 事前設定は不要 | 「openfiles /local on」を実行して、'maintain objects list'を有効にする必要がある(コマンド実行後、マシンを再起動する必要がある) |
調査ツール使用によるOS性能の劣化 | なし | あり ('maintain objects list'を有効にすることによるOS性能が劣化) |
表示対象ファイル | システム内の全てのファイル | openfiles.exeを実行したユーザーが使用しているファイルだけ ※本機能では、AdvancedCopy Managerのコマンドまたはサービスがopenfiles.exeを実行するため、表示対象ファイルは以下のどちらかになります。
|
保守 | (「現状有姿(‘as is’)」で提供されるため)Microsoft社のサポートはなし | (OS標準機能のため)Microsoft社のサポートあり |
動作OS | 以下のWindowsを除くOS、すなわち、「Itanium-based system」以外のWindows(x86,x64)で動作可能
| AdvancedCopy Managerがサポートする全てWindowsで動作可能 |
Windows 2003/2008 for Itanium base Systemsの場合、handle.exeは使用できないため、利用可能なツールはopenfiles.exeだけとなります。一方、Windows 2003/2008(x86/x64)の場合は、handle.exe、openfiles.exeの一方あるいは両方を選択可能です。しかし、表示対象ファイルの点でhandle.exeが優れているため、Windows 2003/2008 (x86,x64)の場合は、handle.exeを使用することを推奨します。
なお、両ツールで原因を特定できるのは、プロセスがファイル、ディレクトリを使用(open)している場合に限られます。したがって、以下に該当する場合は、両ツールでは原因を特定できません。
ドライバによって対象ボリュームが使用されている場合
対象ボリューム内にDLLが存在し、アプリケーションがそのDLLをロードしている場合
両ツールで原因を特定できなかった場合は、エラー発生時に稼働していたアプリケーション、サービスの中に上記に該当するものがなかったかどうかを調査してください。
注意
openfilesを実行しても、情報が何も表示されないことがあります。本現象はOSの負荷や不具合により発生するものと考えられますが、現時点で本現象を回避する手段はありません。
ポイント
バックアップやレプリケーションを実行する前に、使用するボリュームについて、handle.exe -aまたはopenfiles.exe /query /vを手動で実行することにより、「使用中ロックエラー」の原因となるプロセスが存在していないか事前に確認することをお奨めします。ボリュームを使用しているプロセスの調査方法については、「1.8.6 ボリュームを使用しているプロセスの調査方法について」を参照してください。