アプリケーションの 1 つに問題があります。アプリケーションを実行しましたが、すべて問題ありません。このアプリケーションを閉じると、システム内の「svchost」プロセスの 1 つが CPU の約 95 ~ 100% を占有していることに気付き、何が CPU サイクルを大量に占有しているのかを突き止める必要があります。
私はこれをどのように行うかについて、非常に単純で直接的な目標を設定しました。
- プロセス情報または非常に多くの CPU を占有しているこの特定の「svchost」を取得します
- 私は svchost プロセスが何に使用されるかを知っているので、それについて説明する手間を省きます。したがって、この不正な svchost によってどのモジュールがロードされているかを知る必要があります。
- アプリケーションを実行して閉じ、プロセスがメモリ内ではなく完全に閉じられていることを確認しました。次に、CPU を 100% 使用している svchost の PID を取得しました。
- ProcessExplorer (sysinternals から) を実行し、この svchost がホストしているサービスの数とサービスに関する情報を取得しました。それらは約12のサービスです。これらの 12 のサービスのどれが CPU サイクルを占有しているかを特定する方法が気になるので、このリストについては気にしません。
- 今、私はリストを持っています。ここからトリッキーな部分が始まります...以下の2つのオプションのうちの1つを実行したいです
オプション 1: これら 12 のサービスのうちどれが CPU を大量に消費しているかを特定するにはどうすればよいですか? この svchost プロセスの拡張情報を取得して、このプロセスでホストされている「サービスごと」の詳細情報を入手できますか?
オプション 2: svchost が svchost のインスタンスごとに 1 つのサービスのみを実行するように Windows を構成することは可能ですか?
この問題の根本原因を絞り込むためのより良い調査方法がある場合は、お知らせください。