問題タブ [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.
c# - C# - RawFraction パフォーマンス カウンターを取得して永続的な値を表示する
RawFraction
ベース値 ( ) に対する増分値 ( タイプ ) の割合を示すパフォーマンス カウンターを作成しましたRawBase
。
残念ながら、この値を監視すると、カウンターの 1 つが増加したときのパーセンテージしか表示されません。それ以外の場合は常にサンプリングされ、0 が表示されます。次に分数を再計算する必要があるまで、カウンターに最後の値を保持するように指示する方法はありますか?
c# - Windowsパフォーマンスモニターの不正確なパフォーマンスカウンタータイマー値
アプリケーション内にインストルメンテーションを実装していますが、PerformanceCounterからWindowsパフォーマンスモニターに表示される値が、記録される値と一致しないという問題が発生しました。
ストップウォッチを使用してメソッドの実行時間を記録し、最初に合計ミリ秒をdoubleとして記録し、次にストップウォッチのTimeSpan.TicksをPerformanceCounterに渡してパフォーマンスモニターに記録します。
perfmonでのパフォーマンスカウンターの作成:
次に、記録するために、コレクションから事前に初期化されたカウンターを取得してインクリメントします。
...ここで、「タイミング」はストップウォッチのTimeSpan.Ticks値です。
これを実行すると、ストップウォッチのTimeSpanのミリ秒値であるdoubleのコレクションに、1つの値のセットが表示されますが、PerfMonに表示されるのは別の値のセットです。
たとえば...ミリ秒のリストに記録される2つの値は次のとおりです。
23322.675、14230.614
そして、PerfMonグラフに表示されるものは次のとおりです。
15.546、9.930
誰かがこれを説明できますか?
c# - C#でOpenOfficeからパフォーマンス情報を取得するにはどうすればよいですか?
C#のパフォーマンスカウンタークラスを使用して、openofficeのパフォーマンス情報を監視しようとしています。私のプログラムは他のアプリケーション情報を問題なく監視できますが、同じ手順を使用してOpenOfficeのパフォーマンスデータを適切に監視できないという奇妙な問題が発生しています。基本的に、私はプロセスを作成し、パフォーマンスカウンターに、そのファイル名を使用してそのプロセスからプロセッサー時間を取得させます。私が気付いたOpenOfficeには、タスクマネージャーの下に2つのプロセスがあります。1つはsoffice.binで、もう1つはsoffice.exeです。binファイルはexeファイルよりもはるかに多くのメモリを消費するため、exeファイルが使用可能なパフォーマンスデータを提供しなかった後、それを監視しようとしました(パフォーマンスコントローラーは値0を返し続けました)。ただし、binファイルにも同じ問題があります。使用可能なパフォーマンスデータを取得できません。
OpenOfficeのパフォーマンスについて良い測定値が得られない理由を誰かに教えてもらえますか?間違ったプロセス名を使用していますか、それとももっと微妙な名前ですか?
c# - パフォーマンス カウンター レジストリの検証
起動時にいくつかのパフォーマンス カウンターを追加する C# アプリケーションがあります。ただし、レジストリ HKEY_LOCAL_MACHINE->SOFTWARE->Microsoft->Windows NT->CurrentVersion->Perflib が破損している (欠落または無効なデータ) 場合、パフォーマンス カウンター (PerformanceCounterCategory.Exists(category)) の存在を確認する操作にかなりの時間がかかります。最終的に例外をスローする前に長い時間 (約 30 秒) (InvalidOperation: カテゴリが存在しません)
私の質問は、パフォーマンス カウンターを追加しようとする前にレジストリの有効性を確認する方法 (および有効性の意味) または例外を取得するのに 30 秒かからないように、perf カウンター操作をタイムアウトにする方法。
c# - なりすまし - アクセスが拒否されました
偽装を使用して MVC Web サイトから PerformanceCounterCategory を削除するのに問題があります。静的クラスがあり、アプリケーションの起動時に、PerformanceCounterCategory が存在するかどうか、および正しいカウンターが含まれているかどうかがチェックされます。そうでない場合は、カテゴリを削除し、必要なカウンターで再度作成します。
組み込みの Web サーバー Cassini で実行すると問題なく動作しますが、IIS7 (Vista) で実行しようとすると、次のエラーが発生します。
アクセスが拒否されました
説明:
現在の Web 要求の実行中に未処理の例外が発生しました。エラーの詳細とコード内のどこでエラーが発生したかについては、スタック トレースを確認してください。
例外の詳細:
System.ComponentModel.Win32Exception: アクセスが拒否されました
私のコードの使用:
MS の記事からのなりすましコード...
処理が PerformanceCounterCategory.Delete コマンドを実行しようとすると、エラーがスローされます。
更新
デイビッドの答えに応えて、私は次のことを試しました:
- PerfMonUser という名前の新しいローカル ユーザーを作成しました
- このユーザーを「Performance Monitor Users」グループに追加しました
コードを変更して、次のようになりました。
...しかし、私はまだエラーが発生しています:
例外の詳細: System.ComponentModel.Win32Exception: アクセスが拒否されました
...行で:
c# - パフォーマンスカウンター
C#アプリケーションのパフォーマンスカウンターを作成しました。そのタイプはNumberOfItems32
です。理由はわかりませんが、確かにカウンターがこれよりはるかに大きい場合、パフォーマンスモニターはy軸に最大値100としてのみ表示します。これが正しい動作であるか、それとも私が何か間違ったことをしているのか知っていますか?
c# - プロセスのCPU消費
パフォーマンスモニターを使用して、プロセスのCPU消費量を確認したいと思います。現在、私はマルチコアマシンに取り組んでいます。
タスクマネージャーで自分のプロセスを見ると、自分のプロセスがCPUの20%を消費していることがわかります。パフォーマンスモニターを起動する場合は、[プロセス]->-> [%プロセッサー時間]を選択します。値がピークに達し、100%を超えています。なぜ、そしてどのように本当の測定値を得るのか知っていますか?
4つのコアすべてのCPU消費量も調べましたが、消費量をプロセスに関連付ける方法が正確にはわかりません。
CPU使用率の読み方についてのリンクやURLを提案していただければ幸いです。どうもありがとう!AFG
.net - PerformanceCounterCategory.Create() を呼び出すと、「System.ComponentModel.Win32Exception: アクセスが拒否されました」がスローされます
私のマシンで以下の PerformanceCounterCategory.Create() を呼び出すと、この例外がスローされます。
System.ComponentModel.Win32Exception: アクセスが拒否されました
また、イベント ビューアーで報告されるメッセージは次のようになります。
SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib キーを開いたり、カウンター文字列をインストールするためにアクセスしたりできませんでした。呼び出しによって返された Win32 ステータスは、データ セクションの最初の DWORD です。
それについて何が問題なのか知っていますか?
ありがとうございました!
.net - サーバー開発におけるパフォーマンスカウンター
サーバーアプリケーションにパフォーマンスカウンターを使用することの価値に皆さんは同意します。
C#を使用してこれらを実装する方法を知りたいです。
通常、パフォーマンスカウンターには次の属性があります。
- それらは共有/グローバルです
- 書き込みには同期を確保するためにロックが必要です
- 読書にもロックが必要な場合があります
それらを非同期的に更新する方が良いですか?それらを非同期にするための最良の方法は何ですか?
ThreadPool.QueueUserWorkItem()関数を使用することを計画しています。これについてどう思いますか?
質問が少し曖昧に思われる場合は、HelloWorldWCFサービスをご覧ください。
また、次のことも知りたいです。
- 全体的に、特定の期間内に何回ヒットしたか
- 全体および特定の期間内の平均/最小/最大応答時間
.NETまたはWCFでこれを行うための特別な方法を知っている人がいたら、私に知らせてください。
performance - カーネルからページフォールト統計を取得するにはどうすればよいですか
アプリケーションの実行中にカーネルからページ フォールト統計を取得するにはどうすればよいですか? SMP ノードでの CPU 間の移行カウントやコンテキスト スイッチの数など、他のイベントはどうですか?
プログラムのさまざまな小さな部分について、そのようなイベントを数えたいと思います。
ありがとう。