問題タブ [jmx]
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.
java - JMXを使用してスレッドのCPU時間を取得する効率的な方法
現在、次の方法でJMXを使用して合計スレッドCPU時間を取得しています。
ThreadMXBeanは実際にはリモートプロキシであるため、この実際のメソッド呼び出しのパフォーマンスは秒単位で非常に高くなります。
これを行うより速い方法はありますか?
更新:これをパフォーマンスの監視に使用しています。測定値は「実時間」とJProfilerの両方であり、この方法で費やした時間の約85%を示しています。他にもいくつかのMXBean呼び出し(ランタイム、メモリ、GC)がありますが、はるかに安価です。ほとんどの場合、へのすべての呼び出しthread.getThreadCpuTime
がリモート呼び出しであるためです。
アップデート2:パフォーマンスの問題を示すJProfilerのスクリーンショット。
java - Javaでのスレッドユーザー時間とスレッドCPU時間の違い
ThreadMXBeanには、スレッド時間の使用状況を取得するための2つのメソッドがあります。
2つの違いは何ですか?
アップデート2:javadocsにリンクできる場合は、引用しないでください。すでに読んでいます。
更新:これらの時間が何を意味するかを学ぶために私が使用しようとしたいくつかのコードがありますが、ほとんど成功していません:
出力は次のとおりです。
したがって、CPUとユーザー時間の差は20ミリ秒から60ミリ秒に増加しました。これは、HttpUrlConnectionの使用にネットワークI / Oが含まれているためですか?
weblogic - Weblogic10.xでJMXを有効にする方法
JMXが有効になっているアプリケーションがあります。独自のJMXエージェントといくつかのMBeanがあります。WebLogicでアプリケーションを起動すると、RMI URLを介してJMXエージェントに接続し、「JConsole」を介してMBeanで操作を実行できます。
しかし、Weblogicコンソールに入ると、JMXコンソールが表示されません。WeblogicでJMXコンソールを有効にするにはどうすればよいですか?
java - VisualVMを使用してTomcatに接続できません
リモートTomcatプロセスの監視に問題があります。JConsole/JVisualVMのJava6バージョンを使用しようとしています。
適切なセキュリティポリシーを使用して、リモートサーバーでjstatdを実行しています。プロセスが開始され、TCP接続が使用可能になります。
JConsoleを介して接続しようとすると、が表示されます'Connection Failed:jmxrmi'
。
VisualVMを介して接続しようとすると、ホスト名を追加し、右クリックオプションは「JMX接続の追加」です。それが私が期待するものであるかどうかは、ドキュメントからはわかりません。接続しようとすると、次のようになります。
したがって、ドキュメントでは、UIがjmxrmiを要求している間、VisualVMで監視するためにjstatdをリモートで実行するだけでよいと示唆しています..それらは同じですか?jmx rmiオプションを使用してtomcatをセットアップしようとしましたが、ファイアウォールの問題ではないことはわかっていますが、タイムアウトもしました。
誰かがこの方法でリモートTomcatプロセスを接続することに成功し、その方法を説明できれば、それは私を大いに助けてくれるでしょう。
java - (実験的な) JSR-262 JMX-WS 対応の Java ツールまたはアプリケーションはありますか?
Java Management Extensions (JMX) エージェント用の Web サービス コネクタと参照実装ws-jmx-connectorに非常に興味があります。JSR 262 は、Java 以外のクライアントを使用して JMX エージェントと通信するオプションがあれば、クロスプラットフォーム/クロス言語のエンタープライズ統合プロジェクトに新しい機会を提供します。(Delphi クライアントで参照実装をほとんど手間をかけずに使用できました)。
JSR 262 が「有効」で、JMX WS を介して MBean を公開する (オープン ソースの) Java ツールまたは製品はありますか?
java - JMXを介したLog4Jロギングの再開
Log4jローリングアペンダーがMaxBackupIndexの制限に達したため、ログを停止したようです。古いログファイルを邪魔にならないように移動しましたが、Log4jが再びログを開始しないようです。
JMX経由でLog4Jロギングを再開する方法はありますか?
Tomcatインスタンスを再起動する代わりにこれを活用したいと思います。
ありがとう。
java - JConsoleに表示されるCoherenceノードMBeanのJMX問合せに関する問題
JMX を使用して、職場のリモートCoherenceクラスタを監視するためのカスタム ツールを構築しています。問題なく接続して MBean を直接クエリすることができ、必要なほぼすべての情報を取得できました。ただし、クラスター内の特定のキャッシュについて MBean にクエリを実行しようとしたときに問題が発生しました。ここで、gets/puts の合計数、それぞれの平均時間などに関する統計を確認できます。
プログラムでアクセスしようとしている MBean は、JConsole を使用してリモート プロセスに接続すると表示され、次のような名前が付けられます。
type=Cache
すべてのキャッシュを指定せずに、特定のノード ID のすべての MBean を動的に取得できれば、より柔軟になります。私は次のようにそれらを照会しようとしています:
ただし、queryMBeans()
またはを使用するかどうかに関係なくqueryNames()
、クエリは次を含むセットを返します...
- ...上記の引数を渡すと0 個のオブジェクト
- ...最初の引数に渡すと0 個のオブジェクト
null
- ...第 2 引数
Coherence:*
に渡す場合、ドメイン内のすべての MBean (112)null
null
...両方の引数を渡すと、すべての MBean (128)
最初の 2 つの結果は予期しないものQueryExp
で、 I'm passに問題があることを示唆していますが、何が問題なのかわかりません。2 番目のパラメータに or を (typeIsCache
最初のパラメータとしてorを使用して)渡してみましたが、常に 0 の結果が得られます。specifiedNodeId
coherence
null
私は JMX にかなり慣れています — 問題が何であるかについての洞察はありますか? (参考までに、監視ツールは Java 5 で実行されるため、現時点では JMX 2.0 などは役に立ちません。)
java - JMX コンソールの挿入で明らかな何かが欠落している
hello world JMX Bean を起動するための指示に従っていますが、jboss は次のように文句を言います。
本当に明らかな何かが欠けていることは知っていますが、それが何であるかを見つけることはできません。
なぜinitメソッドを探しているのでしょうか? クラスは init メソッドを持たないクラスを拡張し、クラスの名前を変更すると classNotFound が発生するため、正しいクラスを参照していることがわかります...
Jboss JMX コンソール用の最初の MBean を作成するための適切なステップバイステップのチュートリアルがあれば、それも利用します。
とても感謝しております。
java - MBean からシングルトン クラスのインスタンス データにアクセスできません
締め切りに間に合わず、汗だくです。過去数日間、私は問題に取り組んできましたが、今こそ大声で叫ぶときです。
アプリケーション (「APP」と呼びましょう) があり、APP 用に作成された「PerformanceStatistics」MBean があります。また、MBean がアプリケーションのランタイムにアクセスして計算するためのデータを提供するシングルトン データ クラス (「SDATA」と呼びましょう) もあります。したがって、アプリケーションの起動中とその後のアプリケーションのライフサイクル中に、SDATA インスタンスにデータを追加します。そのため、この SDATA インスタンスには常にデータが含まれています。
問題は、PerformanceStatistics MBean からデータまたはデータ構造にアクセスできないことです。データを追加するときにデータ構造を確認すると、すべての構造にデータが含まれています。しかし、MBean からこのシングルトン インスタンスを呼び出すと、空のデータが表示されます。
何が起こっているのか、誰かが説明したり、ヒントを得ることができますか? どんな助けでも大歓迎です。
念のため、あらゆる種類の SDATA クラスを final にして、すべてのメソッドを同期、静的などにしようとしました。しかし、今まで運がありません。
もう1つの残念なことは、異なる「ServicePerformanceData」インスタンスを取得する場合があることです(つまり、 ServicePerformanceData.getInstance() を出力すると、それらは異なる時点で異なります)。何が起こっているのかわからない。このアプリケーションを WebLogic サーバーで実行し、JConsole を使用しています。
シングル トンおよびデータ アクセス メソッドを持つ SDATA クラス
}
PerformanceStatistics MBean クラスServicePerformanceData .getInstance() のようなデータを呼び出すと、その構造には何もありません。したがって、私はこれで結果を得ることができません。
}