Process Explorer でプロセス管理

 前回の続き。
 @ywatase さんから Process Explorer というのを紹介していただいた。確かにこれを使うとプロセスの優先度を変更することができるのだが、それ以上に便利なツールだと気づいたので紹介。

Process Explorer


 あちこちのサイトで「タスクマネージャの強化版」と紹介されている。また Help には "Process Explorer is an advanced process management utility that picks up where Task Manager leaves off." と書かれている。
 優先度の変更にとどまらず、現在起動しているプロセスの様々な情報を表示してくれるツールだ。


 標準のタスクマネージャ(Ctrl+Shift+Esc で起動するもの) は、実行ファイルの名称 (***.exe) と、メモリ使用量やCPU利用率等、簡単な情報しか表示されない。
 Process Explorer ではさらに詳細な情報を見ることができる。具体的には

  • アプリケーションの名称や開発会社名
  • 使用中のハンドル情報(現在アプリケーションが使用中のファイルハンドルなど)
  • アプリケーションが使用しているDLL情報

など。

 また、パフォーマンスグラフもアプリケーションごとに確認することができ、CPU使用率やメモリ使用量の変化を時系列で確認できる。


 で、肝心の優先度変更の方法だが、プロセス一覧の中の特定のプロセスを右クリック→「Set Priority」→ 優先度を選択(Realtime, High, Above Normal, Normal, Below Normal, Idle の中から選択)で変更することができる。

 ここで Process Explorer の優れている点。
 優先度の変更自体は標準のタスクマネージャでも行うことができる。しかしすべてのプロセスの優先度を変更できるわけではない。たとえば SYSTEM ユーザが起動しているプロセスについては、管理者権限を持ったユーザでログインしていても変更を拒否されてしまう。
 ところが Process Explorer を使うと、問題なく変更できる。例えば、ウィルスバスターの TMBMSRV.exe(同ソフトの不正監視を行うプログラム)は SYSTEM ユーザで起動しているのだが、Process Explorer からなら優先度の変更が可能だ。


 あと意外に便利だと思ったのは、各プログラムのアプリケーション名や会社名も表示してくれるという点。一見おまけ的な情報にしか思えないが、実行中のプロセスが具体的にどのアプリケーションに紐づいているのかを視認しやすい。実際見てみると、普段ほとんど使っていないアプリケーションのプロセスが意外に多く起動しているのに気づかされる。普段使わないのにCPUを多く消費しているようなアプリケーションを見つけたら、アンインストールするなどの手を打つことができ、マシンをクリーンに保てる。


 ちなみに、Process Explorer の便利さにハマり、もうタスクマネージャなんて使えないわ!なんてことになったらw 標準のタスクマネージャを Process Explorer に置き換えることもできる。Process Explorer を起動した状態で、「Options」 → 「Replace Task Manager」 を選択すれば、次回から Ctrl+Shift+Esc キー、もしくはタスクバー上で右クリック→「タスクマネージャ」 で Process Explorer が起動するようになる。


 というわけで、一度使ってみるといいかも。


#ちなみに実行画面を掲載したらもっと分かりやすくなったんだろうけど、オイラのプロセス一覧みたらイヤーンなプロセスが立ち上がりまくりだったので断念w