0

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

DLL は services.exe によってロードされると思います。DLL で CPU 使用率を調べることは可能ですか。

Windows プラットフォームで C++ を使用しています。

4

4 に答える 4

3

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

于 2009-01-07T00:34:23.677 に答える
1

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

しかし、あなたは一般的なサービスDLLまたは特定のファイルについて話しているのですか?

于 2009-01-06T21:08:32.953 に答える
1

これを試して:

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

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

于 2009-01-07T01:19:10.593 に答える