問題タブ [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 投票する
1 に答える
38188 参照

c# - すべてのプロセスとその現在のメモリおよび CPU 消費量を一覧表示しますか?

C# ですべてのプロセスのリストを取得し、各プロセスの現在のメモリと CPU 消費量を取得するにはどうすればよいですか?

サンプルコードは高く評価されています。

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

c# - カテゴリのすべてのパフォーマンス カウンターを一覧表示する

System.Diagnostics に、特定の CategoryName のインスタンス化されたすべてのパフォーマンス カウンターを取得するための組み込みメソッドはありますか?

カスタム パフォーマンス カウンターを使用するマルチスレッド アプリが多数あり、パフォーマンス統計を表示するためのダッシュボードを追加する必要があります。

誰かが新しいカウンターを新しいコードに追加するたびに更新する必要がないように、ダッシュボードを作成したいと思います。

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

.net - ASP.NET AJAX 呼び出しによる PerformanceCounter の使用

私たちのオフィスでは、壁に取り付けられた 40 インチの LCD があり、Firefox のフルスクリーン インスタンスを実行し、一連のモジュールをホストしています。これらの各モジュールは、サーバーへの AJAX インターフェイス (jQuery 経由) を備えた自己完結型の DIV です。その機能を実行します。

これらのモジュールの 1 つは、サーバーの CPU、メモリ、およびディスクの使用状況を監視します。

サーバー側ではWMIを使用していましたが、書き直して .netのPerformanceCounterクラスを利用しようとしています。

ただし、PerformanceCounter クラスの問題は、既定の IIS 匿名アカウントが必要な情報を受け取る権利を持っていないことです。

私はこれらの統計を取得する権利を持つアカウントを持っており、次のものを使用しようとしました:

ただし、これにより IIS が何も実行できなくなったため、アカウントには Web サーバーに対するアクセス許可がなかったと推測されます。

基本的に私が求めているのは、WMI でできるように、PerformanceCounter を使用するときに別のアカウントになりすます簡単な方法です。

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

.net - RAMPerformanceCounterの問題

私のコード:

質問:

  1. ドキュメントには、PerformanceCounterは管理者としてのみ使用できると記載されているようですが、アプリケーションを標準ユーザーとして実行したところ、機能しました。頼りにできますか?
  2. 約200MBのRAMが残っていると、常にOutOfMemoryExceptionが発生します。なぜですか?一度にintを割り当てるので、断片化が原因ではありません。また、私はすでに2GBをはるかに超えているため、アドレス指定の問題が原因である可能性はありません(3GBのうち2.8が取得されると、例外がスローされます)。テストアプリによって出力された数値は、側面で実行されているタスクマネージャーウィンドウで確認されました。
  3. テストアプリの実行中にBSODを取得すると、約400MBが残っていました。何がこれを引き起こす可能性があるかについてのヒントはありますか?RAMの整合性のチェックを実行します、他に何かありますか?ループなどでの呼び出しには注意が必要PerformanceCounter.NextValue()ですか?このPCでBSODを取得するのはこれが初めてです。
  4. プログラム実行のある時点で、大きな遅延が発生します。たとえば、1 GBの空きRAMで起動すると、700 MBに達すると、アプリは1秒間フリーズし、約400MBで約4秒間フリーズします。どうしてこれなの?OSはメモリを解放するためにディスクキャッシュをスワップアウトする必要があるため、または何か?

注:なぜ私はこれをしているのですか?さて、メモリを大量に消費するアプリで5 MBのRAMが残っていることを検出し、「メモリが不足しています。他のプログラムを閉じてから戻ってください。そうしないと、このプログラムは失敗します」とユーザーに警告します。

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

c# - Windows プロセスの CPU 使用率を計算しますか?

プロセス ID が与えられた場合、C# を使用してこのプロセスから CPU 負荷を取得するにはどうすればよいですか?

特定のアプリケーションの c# 計算 CPU 使用率で説明されているように、PerformanceCounter を使用してみました

また、時間枠内のプロセスの合計 cpu 時間の 2 つの値を手動で取得し、delta-cpu-time を delta-total-time で除算しようとしました。

これらの方法はどちらも最初は問題なく動作するように見えますが、アプリケーションを Windows タスク マネージャーの横に配置すると、アプリケーションは常にタスク マネージャーの約 2 倍の量を表示します。10ミリ秒から10秒までのさまざまなタイムステップで更新しようとしましたが、常に同じ結果が得られました。

うーん、私がこれを書いたとき、それはある種のデュアルコアの問題である可能性があることに気付きました...

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

c# - パフォーマンス カウンターを使用して Windows サービスを追跡する

私は、いくつかのアプリケーションとサービスで構成されるシステムを使用しており、ほとんどすべてが SQL データベースを使用しています。

Windows サービスは、さまざまなタイミングでさまざまなことを行うので、それらを追跡したいと思います。つまり、展開された一部のシステムでは、マシンの CPU 使用率が高く、SQL プロセスの使用率が高いことがわかりますが、どのサービスが原因であるかはわかりません。

この仕事にはパフォーマンス カウンターが適しているのだろうか。

基本的に、特定の瞬間にどのサービスが起動して何かを処理しているかを確認できるようにしたいと考えています。

perfcounter各サービスが何かを行っているかどうかを示すために、各サービスの値が 0 または 1 しかないを最終的に持つことができるように思えますが、これは の通常の使用法とは思えませんperfcounters

パフォーマンス カウンターは適していますか?

これを別の方法で追跡する必要があると思いますか?

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

c# - パフォーマンス カウンターが変更されないのはなぜですか?

私はここで何か非常に悪いことをしているに違いありません。次のようにカスタム パフォーマンス カウンターを作成します。

カウンター カテゴリとカウンターが作成され、パフォーマンス モニターで表示できるようになります。

次に、カウンターの値を変更しようとします

ただし、パフォーマンス モニターでカウンターを座って見ていると、何も起こらず、値が変化することはありません。

それで、私は何を間違っていますか?

nextValue() または rawValue() への呼び出しを追加すると、期待どおりにその値が返されますが、Windows パフォーマンス モニターには依然として平坦な線が表示されます。

編集:パフォーマンス モニターを閉じて、カウンターを削除せずに再度開くと、新しい値があることに突然気付くことがわかりました。したがって、値が設定されて永続化されますが、パフォーマンス モニターには変更が表示されません。

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

asp.net - ASP.NET と出力キャッシュ - 動作しているかどうかを確認するにはどうすればよいですか?

問題: ASP.NET Web サイトを持っていますが、自分のコードが正しく OutputCached されているとは思えません。IIS7 パフォーマンス カウンターを使用して、1 秒あたりのヒットまたはミスを表示しています。


シンプルな ASP.NET MVC Web サイトがあります。組み込みの ASP.NET Output Cache マジックを使用しています。

ここにいくつかのサンプルコードがあります:-

したがって、これは、各 URL クエリが次のようになることを意味します:-

ここで、設定ファイルを参照する OutputCache を取得した方法に注目してください。ここにあります...

難しいことは何もありません...

ここにキッカーがあります!IIS7 パフォーマンス カウンターを使用してこれが発生していることを確認すると、1 秒あたりの出力キャッシュ ミス数が 1 秒あたりの要求の 100% であることがわかります。出力キャッシュ ヒットは 0/秒です。

サードパーティの Web 負荷ストレス テスト プログラムを使用して、サイトにクエリを実行しています。さて、ソースデータは何ですか?名前のリスト。プログラムはすべての名前をループし続け、最初に戻り、すすぎを繰り返します。したがって、同じクエリ文字列を少なくとも 1 回呼び出すことは避けられません。IIS ログ ファイルは、これを確認します。

アルファ版またはベータ版のデータは渡しません。

これは私がヒットしている私のクエリ文字列です....

...「hello+world」をデータ ソース ファイルの名前に置き換え続け、IIS ログでこれを確認します。

だから..私は間違ったパフォーマンスカウンターを見ていますか? 出力キャッシュされているかどうかを確認する他のトリックはありますか? コードは非常に高速であるため、キャッシュされた結果かどうかを判断するのは困難です。

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

performancecounter - Web サービス - 「現在の接続」パフォーマンス カウンター

最近、VSTS を使い始め、Web サイトに対して実行するテスト スクリプトをいくつか作成しました。スクリプトは、基本的に同期 WebService リクエストで構成されます。

このスクリプトを 2000 人のユーザーで実行し、現在の接続パフォーマンス カウンターを確認しましたが、17 を超えることはありませんでした。実行中のテストの数は常に 150 近くあり、テストには 1 つの WebService 要求しか含まれていないため、現在の接続はこれに似ていると思いました。番号。

一度に処理されたリクエストの数ではないように見えるので、誰かが現在の接続カウンターが実際に何を意味するのか説明できますか?

前もって感謝します!

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

c# - .NET 4.0 および Windows 7 の PerformanceCounters

VS2008 と Vista で正常に動作するプログラムがありますが、Windows 7 と VS2010 / .NET Framework 4.0 で試していますが、動作しません。最終的な問題は、System.Diagnostics.PerformanceCounterCategory.GetCategories() (およびその他の PerformanceCounterCategory メソッド) が機能していないことです。System.InvalidOperationException が発生し、「レジストリから無効なインデックスが読み取られたため、カウンター名データを読み込めません」というメッセージが表示されます。

以下に示す非常に単純なプログラムでこれを再現できます。

プログラムを管理者として実行していることを確認しました。VS/デバッガーを接続して実行するかどうかは関係ありません。テストする Windows 7 または VS2010 を搭載した別のマシンがないため、どちらが複雑になっているのか (またはその両方) がわかりません。これは Windows 7 x64 であり、アプリを x32 と x64 の両方で強制的に実行しようとしましたが、同じ結果が得られました。