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