タスク マネージャーを使用したプロセスのトラブルシューティング

この記事では、タスク マネージャーの機能について説明し、トラブルシューティング時にこれらの機能を適用する方法の例を示します。

適用対象: サポートされているすべてのバージョンの Windows Server および Windows クライアント

まとめ

タスク マネージャーは、アプリケーションとプロセスのパフォーマンスとリソースの使用状況を監視するための Windows インボックス ソリューションです。

詳細

タスク マネージャーは、Windows とプライベート API のさまざまなデータ ソースから設定されたライブ データ テーブルとグラフで構成されます。 タスク マネージャーの外観は、Windows または Windows Server のバージョンによって若干異なります。 ただし、データは同じソースから取得されます。 タスク マネージャーは、次の表に示すタブにデータを表示します。

Tab データ型
プロセス アプリとバックグラウンド プロセスの一覧、および各リソースの使用状況。
パフォーマンス パフォーマンス データの一覧とグラフ。 CPU パフォーマンス、メモリ パフォーマンス、およびその他のパフォーマンス カテゴリ (コンピューターの構成に応じて) に個別のビューを使用できます。
ユーザー サインインしているユーザーとそのユーザーのコンテキストで実行されるプロセスの一覧。 各プロセスのリソース使用量などの追加データを使用できます。
詳細 アプリかバックグラウンド プロセスかに関係なく、コンピューター上で実行されているプロセスの一覧。 ユーザー コンテキスト、リソースの使用状況、説明など、追加のデータを使用できます。
サービス コンピューターで実行されているサービスの一覧。 一覧の形式は、Services MMC コンソール (services.msc) と似ています。 このページでは、サービスを停止して開始するか、このページからサービス コンソールに移動できます。

Note

タスク マネージャーを初めて開くと、その縮小表示が表示される場合があります。 このビューは次の図のようになります。

タスク マネージャーの要約ビューを示すスクリーンショット。

フル ビューを表示するには、[タスク マネージャー] ウィンドウの下部にある 詳細 を選択します。

タスク マネージャーの概要については、「 Task Manager」を参照してください。

タスク マネージャーを使用してトラブルシューティングを行う方法の例

CPU 負荷の調査

既定のビューを使用すると、[ パフォーマンス ] タブには、物理プロセッサまたは論理プロセッサの数に関係なく、コンピューターの全体的な CPU 負荷が表示されます。

タスク マネージャーの [パフォーマンス] タブの CPU 全体の表示を示すスクリーンショット。

カーネル プロセスによって生成される負荷と、ユーザー プロセスによって生成される負荷の観点から、このデータを分解できます。 これを行うには、グラフを右クリックし、[カーネル時間の表示] 選択します。 グラフ上のトレースは、カーネル プロセス用とユーザー プロセス用の 2 つの色に分割されます。

[カーネル時間の表示] 機能を使用して、タスク マネージャーの [パフォーマンス] タブの全体的な CPU 表示を示すスクリーンショット。

また、各論理プロセッサの負荷の観点からデータを分割することもできます。 たとえば、8 つの論理プロセッサを搭載したコンピューターでは、プロセッサあたりの負荷を (100% の容量で) 次のように計算できます。

100%/8=12.5%

この例の各プロセッサは、CPU 負荷の 12.5% を占めます。 逆に、プロセスが CPU 容量の 12.5% を使用する場合、プロセスは 1 つの完全な CPU と同等のものを使用します。

より正確な読み込み情報を表示するには、グラフを右クリックし、 [グラフの変更] を選択して>Logical プロセッサ。 グラフは、プロセッサごとに 1 つずつ、複数のグラフに分割されます。 これは、異なる論理プロセッサが異なる負荷を運ぶことを示しています。

タスク マネージャーの [パフォーマンス] タブの論理 CPU 表示を示すスクリーンショット。

プロセスの詳細を調べる

ProcessesUsers、および Details タブを使用して、コンピューター上のアクティブなプロセスを表示できます。 一覧は、プロセス情報の並べ替えとグループ化の方法が異なります。 この例では、 Details タブを使用します。

表示される列を変更するには、列見出しの 1 つを右クリックし、[列の選択 選択。 次の図では、 Threads 列が追加されています。

タスク マネージャーの [詳細] タブのプロセスの一覧を示すスクリーンショット。

タスク マネージャーでは、個々のスレッドに関する詳細は提供されません。 ただし、分析するプロセスに関する詳細情報をダンプしたり、サポート ベンダーに提供したりできます。

これを行うには、プロセス一覧のいずれかのタブでプロセスを右クリックし、 メモリ ダンプ ファイルの作成を選択します。

タスク マネージャーのプロセスのコンテキスト メニューの [メモリ ダンプ ファイルの作成] コマンドを示すスクリーンショット。

待機チェーンを調べる

多くのアプリケーションとプロセスは、標準操作の他のプロセスとサービスに依存しています。 応答しないプロセスは、他のプロセスが完了するのを待っているか、システム リソースが使用可能になるまで待機している可能性があります。 このような場合、タスク マネージャーは、この情報をプロセスの依存関係を示すツリーである wait チェーンとして表示できます。

実行中のプロセスの待機チェーンを表示するには、次の手順に従います。

  1. Details タブを選択し、プロセスを選択します。 Status 列の値が Running であることを確認します。 中断されたプロセスの待機チェーンを表示することはできません。

  2. プロセスを右クリックし、[ 待機チェーンを選択します。
    プロセスが通常どおりに実行されていて、他のプロセスを待機していない場合、タスク マネージャーは次のメッセージのようなメッセージを表示します。

    <プロセス> は正常に実行されています。

    Note

    このメッセージでは、 <Process> は選択したプロセスの名前です。

    プロセスが別のプロセスで待機している場合、タスク マネージャーは待機チェーン ツリーを表示します。

  3. 応答しないプロセスに待機チェーンがある場合は、1 つ以上の依存プロセスを終了することでプロセスのブロックを解除できる可能性があります。 これを行うには、次の手順を実行します。

    1. 待機チェーン ツリーで、終了するプロセスの横にあるチェック ボックスをオンにします。
    2. [ プロセスを選択します。