問題タブ [perfmon]
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++ - Windows PC でプロセッサのアイドル状態 (C 状態) を無効にしようとしています
プロセッサーがアイドル状態 (非 C0 C 状態) にならないようにする必要があります。確かに、私はプロセッサ C と P の状態についてあまり知らないので、ご容赦ください。破損したフレームを時折配信するサードパーティ ベンダーのカメラを使用しています。ベンダーは、CPU がアイドル状態になると、firewire を介したフレームの送信に干渉すると判断しました。これを確認するために、Windows 7 PC で次のコードを使用しました。実際、アイドル状態を無効にすると問題が解決しました。
アプリケーションを実行して Windows permon を開き、%C1 時間、%C2 時間、%C3 時間を追加すると、これらの状態を無効にするとすべてゼロになり、有効にするとかなりの時間が表示されます。 C3 状態 (これは Dell Precision T3500 クアッド コア PC 上にあります)。
XP でもこれを行う必要がありますが、これらの呼び出しは XP では利用できません。そこで、アイドル状態を無効にするために次のことを試みました
ただし、アプリケーションを実行すると、プロセッサが C1 状態で時間を費やしていることがわかります (perfmon で同じカウンターを調べると)。そして、私はまだ破損した画像の問題を抱えています。XP PC は、シングル コアの Dell optiplex PC です。
XP で C1 ~ C3 状態に入るのを防ぐ方法を知っている人はいますか? 私が言ったように、私はWindows 7でそれをやったようです.
perfmon - Perfmon がカスタム テンプレートに基づいて新しいデータ コレクター セットを作成しない (Win7 および WinServer 2008)
(PAL から) 既に作成した XML テンプレート ファイルに基づいて、新しいデータ コレクター セットを作成しようとしています。以前はできました。そこで、「logman import PAL -xml "C:\sqlserver.xml"」でlogmanを使って自動化したかったのですが、「パラメータが間違っています」と言ってうまくいきませんでした。perfmon を使用して作成できなくなるまでは、動作しなくても問題ありませんでした。
問題はまさにここで説明されているとおりです: Perfmon can't create data collector set on Windows 7 x64。User Defined フォルダの [New -> Data Collector Set] を右クリックすると、ウィザード ダイアログが表示されます。xml ファイルを参照して選択すると、[次へ] ボタンと [完了] ボタンが無効になり、リスト ビューが空になり (これらの 3 つのデフォルトが消えます)、できることは参照ボタンをもう一度押して別のファイルを選択することだけです。ファイルまたはキャンセルします。ただし、私がリンクした人とは異なり、そのレジストリ キーは、これが発生しているどのマシンにも存在しません。
これは、Windows 7 マシンと、Windows Server 2008 SP2 を搭載した 2 つの VM で行いました。
glassfish - JMX 監視のために JMeter perfMon を Glassfish のポート 8686 に接続できますか?
JMeter のperfMon プラグインを使用して監視するサーバーがあります。ポート 8686 で JMX の詳細を提供できる Glassfish を稼働させていますが、JMeter をこの情報に接続するのに問題があります。いくつかのパラメーターを使用して JVM を起動できることを読みましたが、Glassfish もこれを行うため、そこで読み取り値を取得することはできませんか?
もう少し説明します。監視したいサーバーで serverAgent を開始しました。私のマシンには JMeter があり、ローカルの URL を使用しているため、ファイアウォールの問題はありません。JMeter を使用しているマシンで、jp@gc - PerfMon Metrics Collector を次のようにセットアップしました。
Oracle によると、GF JMX 値の URL には次のようなリンクが必要です。
これが機能することを期待して、このURLをさまざまな方法で試しましたが、これまでのところ何もありません。私のserverAgentは、メトリックタイプjmxのSIGARオブジェクトがありませんと叫んでいるため、ポート8686でGFから何かを取得する可能性があるようですが、SIGARオブジェクトはありません。
しかし、SIGAR はこの GF ポートに接続して、JMeter の情報を取得することは可能ですよね? Hyperic は SIGAR iirc を使用しており、それらによると問題なく接続します :)
提案やアドバイスはありますか?
perfmon - Perfmon - パワー メーターのリフレッシュ レート
ノートブックの消費電力に関する情報を収集するツールを作成しています。現在の消費電力を測定する必要があり、そのために Perfmon を使用しています。しかし、私は奇妙なバグを見つけました。以下は、消費電力の一般的なグラフです (これは、"Power Meter" - "Power" - "_Total" です)。
測定値は、10 ~ 15 秒ごとに約 1 回更新されます。
ただし、エベレスト (または AIDA64) の電源管理タブを実行すると、これがより頻繁に更新されるため、結果はより正確になります。
測定値は約 1 ~ 2 秒ごとに更新されます。
エベレストを走ると何が起こるかわかりません。私は本当に正確なデータを取得する必要があります。あなたはなにか考えはありますか?
この点について何か提案をいただければ幸いです。
c#-4.0 - WMI クエリを使用した perfmon カウンター値に関する問題
私はEXEを構築しており、それを介してアプリケーションのperfmonカウンターを取得し、WMIクエリを使用して監視しています。ローカル マシンでテストしていますが、コード ロジックで一部のカウンターに誤った値が返されるようです。
以下は、カウンターの1つ(CacheTotalHitRatio) の私のコードです
そして、自分のシステムでperfmon exeを使用して調べたところ、以下に示すように別のものが表示されます。
CacheTotalHitRatioはパーセンテージであり、100 を超えるべきではないと思いますが、私のコードではより高い値が得られます。 ここで何が問題なのですか、またはここで何か間違ったことをしていますか?
WMI クエリの経験がある方がいらっしゃいましたら教えてください。
前もって感謝します。
c# - レート ベースのパフォーマンス カウンターのサンプルが見つかりません
アプリケーションにいくつかのパフォーマンス カウンターを追加したいと考えています。それらのほとんどは、1 時間あたりのセキュリティ例外の数、1 時間あたりのユーザー ログイン数、15 分あたりのアプリケーション例外の数など、特定のレートを反映する必要があります。オンラインのすべてのサンプルは、1 秒ごとに実行する方法を示していますが、カスタム期間 (時間、分など) で実行できるようにしたいと考えています。
誰かがそれを行う方法のコードサンプルを示すことができれば素晴らしいでしょう. 私が理解している限りでは、2 つのカウンターを作成する必要があります。1 つは合計を保存するためのもので、もう 1 つは期間を保存するためのものです。
レート ベースのパフォーマンス カウンターを作成する方法のコードを誰かが共有できますか?
c++ - Windowsのperfmonカウンターを読み取る方法は?
Windowsのperfmonカウンター(カテゴリ、カウンター名、インスタンス名)を読み取るためのC ++コードを取得できますか?
c#では非常に簡単ですが、c++コードが必要でした。
ありがとう
asp.net - 従来のASPの「実行中のリクエスト」は1を超えることはありません
簡単なASPサーブレットを使用して(ADOを使用してデータを取得する)AJAXJSONストリームを提供する複雑なアプリがあります。任意のセッションで、これらのリクエストのうち10〜20個を同時に起動できます。負荷がかかると予想していたよりもはるかに早く、重大なパフォーマンスの問題が発生しました。(サーバーはデュアルXEON、RAID 5、4GBなどです)。perfmonを調べてみると、「RequestsExecuting」の数値が永続的に1のままになっていることがわかりました。これ以上高くなることはありません。調査によると、20〜50の数は珍しいことではありません。キューに入れられたリクエストは10〜20前後でホバリングし、待機時間も増加します。
ASPProcessorThreadMaxをデフォルトの25から40に設定しましたが、効果はありません。一度に1つのリクエストしか処理できないようですが、言うまでもなく、それは機能しません。この特定の問題を説明するものは何も見つかりません。アニーの助けは大歓迎です。
.net - 受信バッファのステータスを示す .NET ソケットの perfmon カウンタ
.NET ソケット用にバッファリングされたバイト数を示す perfmon.exe のカウンタを知っている人はいますか? 大量の UDP パケットを読み込んでいる間に、いくつかの傾向が見られることを期待しています。
c# - parallel.foreach および perfmon が報告するスレッド
数百から数千の行を含むテキスト ファイルから読み取るアプリケーションがあります。
各行は、ParallelOptions を使用して parallel.foreach を使用して処理され、実行されるタスクの量を制限します。これが「コントローラー」タスクです。
この「コントローラー」内には、実際の作業を実行する別の parallel.foreach があります。起動された各コントローラ タスクは、元のファイル行で指定された異なるデータ入力で同じ作業を実行します。この作業でも、parallel.foreach は paralleloptions を使用して、実行されるタスクの量を制限しています。
前回のテストでは、Controller foreach: MaxDegreeOfParallelism=4 を使用しました。 Worker foreach: MaxDegreeOfParallelism:4
私の計算によると、一度に最大 16 個のタスクが動作することを意味するはずです。
しかし、perfmon.exe を確認すると、アプリケーションが 700 スレッドを使用していることがわかります。さらに数時間後には 1000 を超えます。
どうすればいいの?GC がこれらの終了したスレッドを収集しないのはなぜですか?
以前、私のコードは同じ問題で Thread[] 内の実際のスレッドを起動していました。次に、それを Task[] に移動しましたが、同じ問題がありました。どこかにスレッドリークがあり、参照がまだスレッド/タスクを指していると思いました。これを探すのに何時間も費やしましたが、役に立ちませんでした。
したがって、タスクへの参照が作成されていない場合、すべてラムダ内で発生するため、タスクリークは発生しないという考えで、parallel.foreach に移行しました。
しかし、問題は解決しません。これがなぜなのかについてのアイデアはありますか?それとも正常ですか?
以下のコードを追加しました。すべてのテストが原因で少しごちゃごちゃになっており、この問題をデバッグしようとして、少しクリーンアップしようとしました。