問題タブ [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.
windows-server-2003 - Perfmon が実行されなくなりました
今日、私はperfmonを壊しました... :(
アプリケーションを起動できます。デフォルトの 3 つのカウンター (cpu、mem、disk) がありますが、グラフは動きません。
データソースは「現在のアクティビティ」に設定され、「表示を固定」ボタンは押されていません。再起動して perfmon を開始しましたが、グラフが動いていません。
を使用してカウンターを復元しようとしました
しかし、それは役に立ちませんでした。
Windows Server 2003 R2、32 ビットを使用。同僚も同様の環境でこの問題に遭遇しましたが、その理由はまだ特定できていません。
(反対票を投じる方へ:プログラミングに直接関係ないことは知っていますが、測定を行わずにパフォーマンス用のアプリを作成するのは少し難しいです(しかし、それは私だけかもしれません)
これをより面白くするには:
次のコードも値を取得しません。
要求された画像:
代替テキスト http://www.brokenwire.net/bw/file_download/23/perfmon.PNG
(そのため、グラフが画面いっぱいに表示されず、値が表示されません)
cpu - Win32 API のプロセスごとの CPU 使用率
集中型 LAN 管理システムのプロジェクトを行っています。ネットワーク内のシステムの CPU 使用率が許容範囲を超えた場合に、ネットワーク管理者がいくつかのプロセスを閉じることができるように、(タスク マネージャーのように) リモート PC の各プロセスが消費する CPU サイクル数を知る必要があります。
私のこの要件に対応する Win32 API があるかどうかを知りたいのですが、もしあれば、それについての情報を教えてください..
前もって感謝します..
c++ - C++ でデータを perfmon に公開するためのドキュメントはどこにありますか?
何年も前に、perfmon が消費するデータを「公開」するためのコードを書きました。これらのカウンターの使用については十分に文書化されていますが、(当時) perfmon のデータを公開するための適切なドキュメントとサンプル コードを見つけるのは困難であることがわかりました。
このドキュメントを入手できる場所を知っている人はいますか? クラスラッパーも覚えているようですが、間違っているかもしれません。
編集:
私はこれを見つけました。「カスタム アプリケーション パフォーマンス カウンター」を探し続けます。
c - Vista でのパフォーマンス カウンターの問題
Vista でパフォーマンス監視 API を使用すると、奇妙な問題が発生します。私は現在、PdhGetFormattedCounterValue() に基づいて、XP/2k で正常に動作するコードを使用しています。PdhExpandWildCardPath を使用してカウンターを拡張することから始めます (全体的なネットワーク統計に興味があります)。私が見ているカウンターは次のとおりです。
問題は、最初の呼び出しで PDH_INVALID_DATA が返されることです。もう一度クエリを実行すると、エラーなしでデータの取得が開始されるため、これは問題ではないと思います。問題はこれです。プロセッサ時間は期待どおりに動作しているのに、どちらのネットワーク インターフェイス カウンタも何も返さず、常に 0 のままです。Perfmon を使用して、データが正常に報告されていることを確認したので、何が問題なのか途方に暮れています。私はMSでこれを捕まえました:
http://support.microsoft.com/?scid=kb%3Ben-us%3B287159&x=11&y=9
しかし、私は自分の仕事で多言語に興味がないので、これは関係ないと思います。私がやっていることを正確に示すいくつかの基本的なコードを考え出すことができるかどうか見ていきますが、何か奇妙なことを返すものは何もなく、XP/2k で動作したので、ボンネットの下で何かが変更されたのではないかと思います。ありがとう!
performance - IO その他の操作 パフォーマンス カウンター 説明
お客様のサイトから perfmon カウンターを受け取りました。の異常な値に気付きました\\COMPUTERNAME\Process(PROCESS_NAME)\**IO Other Operations/sec**
。
私が思いついたカウンターの最良の説明は次のとおりです。
プロセスが読み取り操作でも書き込み操作でもない I/O 操作 (制御機能など) を発行する平均速度。このカウンターは、プロセスによって生成されたすべての I/O アクティビティをカウントし、ファイル、ネットワーク、およびデバイス I/O を含めます。このカウンターは、perfmon カウンター Process\IO Other Operations/sec に相当します。
Technetでは、その説明は表示されません。
(**IO Other Operations/sec**)
このカウンターが実際に何を数えているか誰が知っていますか? このカウンターを増加させる可能性のあるシステム コールと、その監視方法。
私たちはC++で作業しています。
performance - パフォーマンス カウンター ログ - Windows 2000 から Windows 2003 への多数のログの移行
同じネットワーク上の Windows 2003 マシンにロック、ストック、およびバレルを移動したい Windows 2000 マシンで一連のパフォーマンス カウンター ログをセットアップしています。
すべてのパフォーマンス ログの詳細をエクスポートしてインポートする方法がわかりません。そのC:\WINNT
ため、生のパフォーマンス ログの構成をどこで調べるかについてのアイデアがあればよいでしょう。または、その他の提案がまったく歓迎されます。
それができない場合は、その点に関する情報も大歓迎です:)
ありがとう!
シアラン
windows-vista - 「RPC サーバーが利用できません」
これは私を夢中にさせています。2 台のテスト マシン、1 台の XP、および 1 台の Vista があります。両方で同じコマンドを実行しています。これらのコマンドには、logman カウンター (コマンド プロンプトでの perfmon など) の作成、これらのカウンターの開始、停止、および削除が含まれます。
問題はこれです: XP では完全に動作し、すべての統計を取得しており、常に動作します。Vista では、最初は動作しますが、その後は常に「RPC サーバーを利用できません」というエラーが返されます。
これは、カウンターを作成したときではなく、カウンターを開始しようとしたときに発生します。
RPC サーバーを確認しようとすると、実行されています。
さらに紛らわしいのは、カウンターがローカル マシンで実行されていることです。(したがって、XP の場合は XP 上で実行され、Vista の場合は Vista 上で実行されます。)さらに奇妙な質問は、そもそもなぜ RPC を使用しているのかということです。
誰かがこれまでにこのエラーに遭遇したことがありますか? 私は本当に立ち往生しています。
いろいろ調べましたが、よくあることのようです。ほとんどの解決策 (元のポスターによると機能しない) は、常にサービスが実行されているかどうかを確認することです。
PSこれは、カウンターを手動で追加すると、perfmonを介しても複製されます。動作しているように見えますが、何かがうまくいかず、マシンを再起動せずに再び動作したくありません。
PPS services.msc では、管理者であっても RPC サービスを再起動できません。
c++ - winreg を介して perfmon カウンター ID を見つける
winreg.h で公開されている API を介して Perfmon カウンター値を収集するアプリがあります。Perfmon カウンター値を収集するRegQueryValueExW
には、関心のある Perfmon カウンターの ID を渡す呼び出しを行う必要があります。その ID Perfmon カウンター名のリストをレジストリに照会し、関心のあるものを探す必要があります。
C++ は私が選んだ言語ではないため、次の例は不安定な例であり、おそらく多くの構文エラーがありますが、おわかりいただけると思います。
問題は、一部のマシン (Windows CE 開発キットがインストールされているマシン) では、"ID Process" という名前の 2 つ目の perfmon カウンターが存在するため、上記で間違ったカウンターの ID が検出されることです。
順序以外に 2 つを区別する方法がわかりません。現時点では、一致する名前で最初に見つけたカウンターを取得するのが最善の策だと思います。より良いオプションはありますか?
(これを .Net などに移行することはできません)