Windows Vista以降では、システムに過大な負荷をかけているサービスを特定するのに、タスクマネージャの[プロセス]タブが利用できる。その方法は?
対象OS:Windows Vista
システムのCPU負荷が高くなっている場合、どのプロセスがその原因になっているかを調査するには、通常はまずタスクマネージャを利用する。しかし一般のユーザープロセスではなく、サービスの場合は、どのサービスがその原因になっているかを調べることは簡単ではない。サービスは、実際にはsvchost.exeというただ1つのプロセスから起動されるので、どのサービスがCPU負荷を上昇させているかといったことが簡単には判断できないからだ。
TIPS「svchost.exeプロセスとは?」では、svchost.exeプロセスとは何か、どのサービスがどのsvchost.exeプロセスの元で動作しているのかを調査する方法について解説した。この方法を利用すれば、CPU負荷の高いsvchost.exeプロセスから、そこで利用されている(svchost.exeによってホストされている)サービスを見つけることができる。
しかしWindows Vistaではタスクマネージャの機能が改良され、サービスの一覧や、どのsvchost.exeから起動されたサービスであるかを簡単に確認できるようになっている。本TIPSでは、その方法について解説する。
Windows Vistaのタスクマネージャでサービスのプロセスを表示させるためには、まずタスクマネージャの[プロセス]タブで[すべてのユーザーのプロセスを表示]というボタンをクリックする。これにより、現在ログオンしているユーザーのプロセス以外のものも表示されるようになる。
以上の操作を行うと、サービスのホストとなるプロセス、svchost.exeプロセスが表示されるようになる。このプロセスは、Windows XPでは(デフォルトでは)数個しか動作していなかったが、Windows Vistaでは次のように非常に多く動作している。サービスのプロセスを確認するには、この画面で目的のsvchost.exeプロセスを選択して右クリックし、ポップアップメニューから[サービスの表示]を選択する。
以上の操作を行うと、次のようなサービスの一覧が表示される。選択状態になっているのが、上で選んだsvchost.exe下で動作しているサービスである。通常はこのように、1つのsvchost.exeの中で複数のサービスが稼働している。
Windows Vistaのタスクマネージャでは、従来のWindows OSのそれと比べて、新たに[サービス]タブが追加されている。だが[サービス]タブをクリックしただけでは、単にサービスの一覧が表示されるだけで、svchost.exeとの関係は表示されない。
なおこの[サービス]タブにおいて、特定のサービスを選んで右クリックすると、[サービスの開始]や[サービスの停止]というメニューが表示され、サービスの実行を制御できる。また[プロセスの表示]というメニューを実行すると、逆に[プロセス]タブに切り替わると同時に、このサービスをホストしているsvchost.exeプロセスが選択表示される。
■この記事と関連性の高い別の記事
Copyright© Digital Advantage Corp. All Rights Reserved.