質問

サービスDLLのCPU使用率を調べる必要があります。既存のサンプルを調べたところ、プロセスのCPU使用率がわかります。

DLLはservices.exeによってロードされると思います。したがって、DLLによってCPU使用率を見つけることは可能です。

WindowsプラットフォームのC ++で作業しています。

役に立ちましたか?

解決

svchost.exeのコピーを作成し、dbgsrvc.exeと呼びます。次に、レジストリのサービスエントリ(HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ Eventlogなど)に移動し、サービスの代わりにdbgsrvcを使用するようにImagePathを変更します。そうすることで、サービスを独自のプロセスに分離し、パフォーマンスカウンターを取得できます。

他のヒント

Windowsで使用できるパフォーマンスカウンターは、プロセスレベルのみです。サービスDLLとはどういう意味ですか?私が知っている唯一のservice.DLLはトロイの木馬ウイルスです。

しかし、汎用サービスDLLまたは特定のファイルについて話しているのですか?

これを試してください:

  1. Perfmonを使用して、プロセスオブジェクトのすべてのカウンターを記録します。
  2. テストの前または後に、コマンドコンソールから tasklist / svc を実行します。サービスをホストしているsvchost.exeの出力を調べます。このプロセスのPIDに注意してください。
  3. テスト後、Perfmonを使用してログファイルを読み込み、ステップ2でプロセスのプロセス測定値を追加します。

dllをホストしているプロセスを監視する必要があります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top