問題タブ [performancecounter]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
5 に答える
30831 参照

c# - C#プログラムはどういうわけかそれ自身のCPU使用率を測定できますか?

長時間実行されるバックグラウンドプログラムに取り組んでおり、デバッグ時にリアルタイムで監視するために、定期的にいくつかの値をフィードする外部ロギングプログラム( SmartInspect )があります。

TaskManagerやIARSNTaskInfoなどの複数のプログラムを簡単に起動できることはわかっていますが、プログラムがX%CPU、ログでこれにフラグを立てます。

メモリ消費量、ワーキングセットなど、いくつかの統計をSmartInspectに定期的にフィードするバックグラウンドスレッドがあります。

このスレッドが、コンピューターのCPUリソースをどれだけ消費しているかをかなり正確に測定することは可能ですか?メインプログラムはシングルスレッドアプリケーション(統計をログに記録するウォッチドッグスレッドを除く)であるため、テクニックがシングルスレッドの使用量に制限されている場合は、それも適しています。

LinuxとCのrusageと呼ばれるものに関連するエントリをいくつか見つけました。これに使用できる同様のエントリはありますか?


編集:わかりました。パフォーマンスカウンターの方法を試しましたが、呼び出されるたびにかなりの量のGCデータが追加されたため、メモリ使用量とガベージコレクションのグラフが急上昇しました。とりあえずこの部分は省きます。

0 投票する
6 に答える
12988 参照

performance - パフォーマンス カウンターのパフォーマンス ヒットとは

会社の .NET ベースのサイトとしてパフォーマンス カウンターを使用することを検討しているときに、パフォーマンス カウンターを使用することによるオーバーヘッドがどれくらい大きいか疑問に思っていました。

サイトのカウンターを継続的に更新する必要がありますか?それとも、測定するときだけ更新する方がよいでしょうか?

0 投票する
1 に答える
1659 参照

unit-testing - MS Test から ".NET Data Provider for SqlServer" パフォーマンス カウンターを読み取るには?

MS Test の単体テストから、カテゴリ ".NET Data Provider for SqlServer" のパフォーマンス カウンター "NumberOfActiveConnections" を読み取るにはどうすればよいですか?

私は次のことを試みていますが、インスタンス名が間違っているようです。MSDNのドキュメントでは、これが WinForms アプリのインスタンス名を取得する正しい方法であると主張していますが、これは MS Test では機能しません。

上記のコードを MS Test から実行するnullと、呼び出しから戻ってきますGetEntryAssembly()

また、MS Test プロセスの名前やその他のバリエーションを使用してみましたが、うまくいきませんでした。

これは、上記のインスタンス名のいずれかを使用しているときに例外をスローするサンプル コードです。

MSDN のドキュメントに従って、これを app.config に追加して、「NumberOfActiveConnections」カウンターを有効にしています。

おそらく問題は、パフォーマンス カウンターが MS Test ホスト ドメインに対して有効になっているが、テストが実際に実行されるドメインに対して有効になっていないことでしょうか?

0 投票する
6 に答える
4305 参照

.net - appdomainリサイクル全体でカスタムパフォーマンスカウンターを使用する

カスタムパフォーマンスカウンターを作成して書き込むことで統計を追跡するASP.NETアプリケーションがあります。ときどき、現在のプロセスですでに使用されているためにカウンターを開くことができなかったことを示すエラーログが表示されます。これは、同じw3wp.exeプロセス内で.NETアプリドメインがリセットされたことが原因だと思います。アプリドメインがリサイクルされたときに、これらのエラーを回避し、パフォーマンスカウンターへの接続を再確立するにはどうすればよいですか?

カウンター構造:

カウンターの使用法:

[2009年3月26日に更新]受信したエラーメッセージは次のとおりです。

インスタンス'_lm_w3svc_1_root_myapp'は、プロセスの存続期間とともにすでに存在します。削除されるか、それを使用しているプロセスが終了するまで、再作成または再利用することはできません。プロセスの存続期間ですでに存在します。

パフォーマンスカウンターを初期化し、一時的なAppDomainでそれらの1つに書き込むことにより、コンソールアプリケーションで例外を複製しようとしました。次に、AppDomainをアンロードし、2番目のAppdomainで再度実行します(同じプロセス)。どちらも成功します。これの原因が正確にわからないので、ASP.NETでのAppDomainのリサイクルに関する私の仮定は間違っているようです。

0 投票する
2 に答える
10748 参照

c# - ASP.Netキャッシュの合計サイズを決定する方法は?

WebプロジェクトでASP.netキャッシュを使用しており、キャッシュ内のアイテムと、キャッシュに関する統計情報をできるだけ多く表示する「ステータス」ページを作成しています。キャッシュされたデータの合計サイズ(バイト単位)を取得する方法はありますか?各アイテムのサイズはさらに良いでしょう。これをWebページに表示したいので、パフォーマンスカウンターは使えないと思います。

0 投票する
1 に答える
5225 参照

c# - カウンタは単一インスタンスではありません。インスタンス名を指定する必要があります

パフォーマンス監視コンソール アプリの開発では、getcategories メソッドに何が渡されますか?:

no param オーバーロードを使用すると、実行時例外がスローされます。

カウンターは単一インスタンスではありません。インスタンス名を指定する必要があります。

また、静的ユーティリティ メソッドと拡張メソッドのどちらをどのように決定しますか? たとえば、特定のユーティリティ メソッドを頻繁に使用することがありますが、それを拡張メソッドとして追加すると、常に別のアセンブリを参照する必要がなくなります。

ありがとう

0 投票する
2 に答える
4024 参照

windows - QueryPerformanceCounter とスレッド セーフ

同時にアクティブになる 2 つのスレッドで QueryPerformanceCounter を繰り返し呼び出す (スピンする) ことを考えています。何も書かれていないので、これが本当に問題なのかどうかはわかりませんが、QueryPerformanceCounter はスレッドセーフですか?

ありがとう

0 投票する
1 に答える
1779 参照

c# - ASP.NET/C# - カスタム PerformanceCounters は、64 ビット システムの 32 ビット perfmon でのみ表示されます。

ASP.NET アプリケーションで使用する一連のカスタム パフォーマンス カウンターを作成しようとしています。次のコードを使用してカウンターをインクリメントします。

これは、単体テストと私の開発ボックス (Vista Business x64) の Cassini で完全に機能し、パフォーマンス モニターでカウンターの動作を確認できます。ただし、カウンターは私の実稼働環境 (Win Server 2003 x64) ではインクリメントを登録していないようです。カウンター インスタンス自体は利用可能ですが、それらはすべて、最新/平均/最小/最大表示に対して "--" を表示するだけです。

私が間違っている可能性があることについてのアイデアはありますか?

編集:これは、私が参照用に使用した [おそらく多少古い] MSDN の記事です。

編集 2:違いがあれば、VS 2008/.NET Framework v3.5 SP1 を使用しています。

編集 3: 32 ビット/64 ビット アプリとモニターの不一致に関するこの記事を見つけましたが、それが私の状況にどのように適用されるかはわかりません。Cassini は確かに 32 ビット アプリですが、64 ビット システムで値を表示するのに問題はありませんでした。私の運用サーバーでは、アプリとシステムの両方が 64 ビットですが、値が表示されません。

編集 4:運用サーバーで 32 ビットの perfmon を実行すると、値が表示されます。では、64 ビットの perfmon で値を読み取れないのはなぜでしょうか?

編集 5:実際には機能しているように見えますが、カウンターが作成される前に開いていたため、perfmon のインスタンスを再起動する必要がありました。

0 投票する
2 に答える
479 参照

.net - PerformanceCounter にするか、カスタム監視を作成するか?

複数のスレッドでフレームワークの実装を実行する Windows サービスがあります。実行中の各インスタンスには、追跡する必要があるいくつかの共通点があります。たとえば、処理されたアイテムの数、アイテムが最後に処理された時刻などです。この基本的な監視データに加えて、実装が独自の監視データを動的に追加できるようにするフレームワーク。

私は以前に PerformanceCounters を使用したことがあります。それらは適切な機能を提供しますが、それらを作成および維持するためのコードは非常に面倒であり、インスタンス関連の落とし穴 (つまり、カウンターのハードコーディング) の可能性がロードされます。インスタンス名、カテゴリ名、カウンター タイプ)。また、膨大な量のコードを書かなくても、単純な基本機能の動的カウンター作成を提供できるかどうかはわかりません。

PerformanceCounters を使用してこのようなものを実装した人はいますか? もしそうなら、あなたはそれをお勧めしますか?そうでない場合、パフォーマンス/ヘルス監視データを簡単に書き込むことができ、1) 多くの速度低下と 2) 別の障害点を導入しないメディアについて誰か提案がありますか?

ありがとうございます。必要に応じて説明を追加させていただきます。これはやや漠然としています。

結論:

最終的にパフォーマンスカウンターを実装しました。ちょっとピタだったけど(へー)、上司は本当にそのアイデアに夢中だったし、今ではそれを理解したので、それほど悪くはありません. 階層データを表示するためのより簡単な方法で、もう少し簡単に構成できるものを望んでいました。しかし、これは問題なく機能し、組み込みのインターフェイスについて議論するのは困難です。

0 投票する
3 に答える
1530 参照

.net - w2k8でパフォーマンスカウンターを使用するにはどうすればよいですか

問題:

通常のユーザー権限で w2k8 にパフォーマンス カウンターを追加して使用できます。

プロセス パフォーマンス カウンターを作成またはアクセスしようとすると、カウンターが存在しないというメッセージが表示されます。

PowerShell で同じことを試すことができます。カウンターが存在しないというメッセージが表示されます。

管理者アカウント (管理者アカウントではなく、THE 管理者アカウント) と同じことを行うと、問題なくカウンターにアクセスできます。

他のカウンター (プロセッサなど) は、通常のユーザーまたは管理者ユーザー アカウントで正常に動作します。

では、管理者アカウントを必要とせずに (.net としましょう) プログラムからプロセス カウンターにアクセスするには何が必要でしょうか?

ティア

ps いいえ、サインインしません。OpenID が嫌いです