0

複数のスレッド (約 4 ~ 5 スレッド) を持つ Windows サービスを作成しました。このサービス スレッドでは、特定の内部で作成され、中止されます。スレッドが作成されると、いくつかの I/O 操作とデータベース操作が実行されます。

このサービスに必要な構成を提供するために、このサービスの GUI があります。この GUI では、すべてのスレッドに関する Windows サービスのパフォーマンスを表示する機能をもう 1 つ追加したいと考えています。CPU 使用率 (マルチコア プロセッサがすべてのプロセッサ使用率よりも利用可能な場合) をメモリ使用率と共に表示したい。

Windows タスク マネージャーを見ると、CPU (コアごと) + メモリ使用率が表示されます。同じものを構築したいのですが、Windows サービスで実行されているスレッドに対してのみです。

スレッドごとの CPU% とメモリ使用率を取得する方法を教えてくれる人はいますか?

4

1 に答える 1

0

スレッドの CPU 使用率とメモリ使用率を取得できないと思います。代わりに、サービスに対して同じものを取得できます。

私の質問は、SysInternals Process Explorer が詳細を提供する独自の機能を構築する必要があるのはなぜですか? 特定のニーズはありますか?

スレッドのアクティビティを監視する必要がある場合は、Log4net またはその他のログ ツールを使用して、いくつかの情報をログに記録することをお勧めします。これにより、スレッドとそれらが何をしているかについてのアイデアが得られます。

具体的には、アプリケーションで受信できる TelNetAppender を使用してログを公開できます。これにより、プロセスをリアルタイムで調べることができます。

于 2013-11-05T06:15:50.940 に答える