問題タブ [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 に答える
1328 参照

c# - 間隔中のパフォーマンス カウンターの最大値?

いくつかの操作を実行しているアプリケーションがあります。間隔間の操作の実行にかかる平均時間を測定するパフォーマンス カウンターがいくつかあります。前回の間隔以降の操作の 1 つを処理するのにかかった最大時間を各間隔で表示するカウンターが必要です。

平均には、タイプ AverageTimer32 インスタンスの PerformanceCounter と AverageBase インスタンスを使用します。間隔間の最大操作時間を追跡するには、どの種類のパフォーマンス カウンターを使用しますか? それはどのように増加しますか?

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

multithreading - 偽共有に関連するパフォーマンスカウンターイベント

私はOpenMPプログラムのパフォーマンス、特にキャッシュとメモリのパフォーマンスを見ています。昔、Vtuneでパフォーマンスを分析する方法について、注意すべきカウンターについて言及したガイドラインを見つけました。しかし、今はマニュアルを見つけることができないようです。

私が問題にしているマニュアルを知っている場合、またはカウンター/イベントを知っている場合は、私に知らせてください。また、マルチスレッドメモリのパフォーマンスを分析するための他の手法がある場合は、可能であれば共有してください

ありがとう

0 投票する
4 に答える
43368 参照

.net - 要求されたパフォーマンス カウンターはカスタム カウンターではありません。ReadOnly として初期化する必要があります。

.NET Windows サービス アプリをデバッグしようとすると、パフォーマンス カウンターの ReadOnly プロパティに関するエラーが繰り返し発生します。このアプリは、x86 Windows Vista または x86 Windows 2003 で正常に動作します。新しい 64 ビット開発マシンでは動作しなくなりました。

管理モードで、64 ビットおよび 32 ビットのコマンド ライン VCVARS.bat で、関連する InstallUtil 呼び出しを実行しました。カテゴリと各パフォーマンス カウンターの設定でエラーは発生しません。しかし、perf ctrs を読み取り専用に設定するかどうかに関係なく、次のようになります。

要求されたパフォーマンス カウンターはカスタム カウンターではなく、ReadOnly として初期化する必要があります。

アップデート

Windows 7 の 32 ビット バージョンでマシンを再インストールしましたが、奇妙なことに、まだこのエラーが発生します。唯一の変更点は、Windows Vista Business から Windows 7 Professional への移行です。これは鐘を鳴らしますか?

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

asp.net - ASP.NET コードを介してパフォーマンス カウンターを追加しますか?

asp.net Web サイトにいくつかのパフォーマンス カウンターを追加しようとしています。これで、作成したカスタムカウンターをインクリメント/デクリメントする方法がわかりました..しかし、私の問題は、ASP.NET Webサイトでこれらのカウンターを作成する場合、それらが存在しない場合です(たとえば、グローバルでこのチェックを行います. asax App start メソッド) を追加/作成します。

しかし、それは機能しません - レジストリへのアクセスは拒否/禁止されています。

これは、asp.netプロセスが(セキュリティのために)非常に簡素化されているため、そのようなものに触れることができないためだと思います。

したがって、他の唯一の解決策は、1つのことを行うクイックコンソールまたはwinformアプリを作成することであるかどうか疑問に思っています->パフォーマンスカウンターを追加します。これを通常のログインユーザーとして実行すると、管理者権限があるので機能します。

または私にできることは他にありますか?

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

linux - パフォーマンス評価中の外れ値

Intel の RDTSC を使用していくつかのパフォーマンス測定を試みていますが、さまざまなテスト実行中に得られる変動は非常に奇妙です。ほとんどの場合、C での私のベンチマークには 3000000 Mio サイクルが必要ですが、まったく同じ実行でも、場合によっては 5000000 とほぼ 2 倍かかることがあります。適切なパフォーマンスの見積もりが得られるように、負荷の高いワークロードを並行して実行しないようにしました。この巨大なタイミングの変動がどこから来るのか誰にも分かりませんか? 割り込みなどが発生する可能性があることは知っていますが、タイミングがこれほど大きく変動するとは思っていませんでした。

PS .: Linux を実行している Pentium プロセッサで実行しています。

フィードバックありがとう、ジョン

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

multithreading - 現在のスレッドのパフォーマンスカウンター

管理されていないC++dllを使用する.NETWindowsサービスを構築しています。私のサービスとc++dllの両方がマルチスレッドを使用しています。処理中にしばらく(数時間)メモリが不足しています。「パフォーマンスカウンター」を使用してスレッド数を測定しようとしましたが、次の値を監視しています。

最初のものは安定していてその値は妥当ですが、2番目と3番目はそうではありません。それらは常に成長し、膨大な数(1500以上)に達しています。そして、それらは等しいです!!!!

それらは等しくなければなりませんか?また、これらのカウンターがマネージスレッドとアンマネージスレッドの両方をカウントするかどうかも、このページからはわかりませんでした。

アンマネージコードは、常に新しいスレッドを再利用するのではなく起動しているのではないかと思いますが、よくわかりません。

誰か助けてもらえますか?ありがとう

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

c# - CPU パフォーマンス カウンターが 0% の CPU 使用率を報告し続けるのはなぜですか?

出力は常に 0% ですが、cpuload.RawValueは 736861484375 程度ですが、 で何が起こったのNextValue()でしょうか?

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

memory - "仮想バイト" パフォーマンス カウンターの増加

膨大なワークロードの下で数時間実行した後、Windows サービスで「メモリ不足」の例外が発生します。次のパフォーマンス カウンターを使用して、メモリ リークを検出しました。

  • すべてのヒープのバイト数

  • プライベート バイト
  • 仮想バイト

最初の 2 つのカウンターは定期的に上下しています。しかし、3番目のものは時間とともに非常にゆっくりと成長しており、カウンターも上下していますが、最終的には時間とともに増加しています. どういう意味ですか?

私の Win サービスは .NET で、C++ DLL からいくつかの関数を呼び出しており、アンマネージ コードを含むサード パーティも使用しています。

これはマネージ コード/アンマネージ コードでのメモリ リークを示していますか? または単にこれは役に立ちませんか?

ありがとう

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

c++ - 現在のスレッドのスレッドアフィニティマスクの変更はどのような利点がありますか?

私はゲームエンジンを書いていますが、デバッグ用の現在のFPSを導出し、フレームレートを制限するための正確で正確な「デルタタイム」値を取得する方法が必要です(これは私たちのプロジェクトにとって重要です)。

少し調べてみると、これを行うための最良の方法の1つは、WinAPIのQueryPerformanceCounter関数を使用することです。フォワードカウンターの跳躍GetTicksCountを防ぐために使用する必要がありますが、それ自体はあまり正確ではありません。

ここでの問題QueryPerformanceCounterは、時間がワープバックした場合のように見える値を返す可能性があることです(つまり、呼び出しが過去の別の呼び出しよりも前の値を返す場合があります)。これは、特定のプロセッサコアで取得した値を別のプロセッサコアで取得した値と比較した場合にのみ発生します。これにより、この投稿を行う動機となった最終的な質問につながります。

  1. スレッドがすでに実行されている間にOSがスレッドを別のコアに「再割り当て」することはできますか、それともスレッドが特定のコアに割り当てられ、スレッドが終了するまでそれでしょうか。
  2. スレッドを再割り当てできない場合(少なくとも私にとっては非常に理にかなっています)、なぜ私が次のようなことを行うことができるのSetThreadAffinityMask(GetCurrentThread(),mask)ですか?Ogre3DはそのOgre::Timerクラス(Windows実装)でそれを行います、そして私はそれが時間を遡ることを避けるためであると仮定しています。しかし、それが真実であるためには、OSによってスレッドが1つのコアから別のコアに任意に移動される可能性を考慮する必要があります。これは、私にはかなり奇妙に思えます(理由はわかりません)。

今のところ知りたかったのはそれだけだったと思います。ありがとう。