問題タブ [jvisualvm]
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 - visualvm を使用してメモリ リークを見つける方法
ActiveMQ 接続ブリッジで重大なメモリ リークが発生していると思われます - 典型的なメモリ リーク パターンが見られます (アプリは問題なくロードされますが、長時間実行されるか、短時間に何度も再起動されると速度が低下します)。 . Java メモリ リークを見つけるための最新のベスト プラクティスを調べたところ、多くの開発者が new(er) の代わりに jhat/jmap などの従来のツールを放棄しているようですjvisualvm
。
このツールを起動すると (そしてチュートリアルを読むのに数時間費やします)、CPU とメモリの両方のプロファイラー スナップショットを取得できます。
私はこの時点でちょっと立ち往生しています - これらのスナップショットを分析してリークを特定するにはどうすればよいですか? jvisualvm を使用してスナップショットを作成する方法に関するドキュメントは多数ありますが、スナップショットを実際に理解する方法に関するドキュメントはほとんどありません。
前もって感謝します。
windows - クラス共有の警告により、visualVMを使用してローカル(Windows)でプロファイルを作成できません
Eclipse HeliosからJavaアプリを起動すると、visualVMのローカルアプリケーションのリストに表示されます。ただし、[プロファイラー]タブに移動し、CPUまたはメモリの基準でプロファイリングできません。
次のメッセージが表示されます。「警告!このJVMでクラス共有が有効になっています。これにより、アプリケーションのプロファイリング時に問題が発生し、最終的にはクラッシュする可能性があります。問題の詳細と修正手順については、VisualVMトラブルシューティングガイドを参照してください:https:/ /visualvm.dev.java.net/troubleshooting.html#xshare。」
アプリのEclipseランチャーで、VM_Argumentsに-Xshare:offを追加しましたが、成功しませんでした。使用するJDK:jdk 1.6.0_20環境:Windows 7、64ビット
何かアドバイスはありますか?ありがとう
visualvm - 新しい VisualVM 1.3.4 のインストールが「Computing description」でハングする
jVisualVM 1.7.0_03 (JDK インストールから) は正常に動作していました。最新の VisualVM 1.3.4 をインストールしました。始めました。「コンピューティングの説明」を出力し、進行状況ダイアログを開始しました。現在、数分間実行されています。UI をブロックしていませんが、ローカルの Java プロセスもリストしていません。JDK の jVisualVM では、これを問題なく実行できます。この新しいリリースにプラグインをインストールできましたが、まだ「コンピューティングの説明」です。
java - VisualVM を使用してメソッドの合計合計時間を取得する方法
アクセサーを関数にインライン化することによるパフォーマンスの向上を測定しようとしています。
インライン化の結果として、メソッドの自己時間が増加します (もちろん)。
メソッドの合計時間と呼び出しを測定する必要があります。VisualVM では、プロファイラーは合計セルフタイムをリストし、スナップショットは呼び出しツリー内の各位置の合計時間を提供できます。測定する必要があるのは、アプリケーション全体の合計合計時間です。
ありがとう
spring - カスタム例外クラスが原因で、JVisualVM を介した JMX 呼び出しで ClassNotFoundException を回避する
私たちのアプリケーションは、JVisualVM を使用して呼び出す JMX を介していくつかのメソッドを公開します。
これは正常に機能しますが、アプリケーション内で例外が発生してメソッド呼び出しが中止されることがあります。その場合、例外からのエラー メッセージを表示する代わりに、JVisualVM はエラー メッセージを表示します。
これは役に立たず、混乱を招きます。JVisualVM に実際のエラー メッセージを表示してもらいたいのです。
これまでにわかったこと:
JMX は、呼び出し中にスローされた例外をシリアライズおよびデシリアライズするようです。ただし、この場合、例外は JDK の一部ではないカスタム例外です。したがって、JVisualVM を介してメソッドを呼び出すと、未知のカスタム例外クラスが原因で逆シリアル化が失敗するため、JVisualVM は例外を表示できません。
現在、回避策として、JMX を介して公開されているすべてのメソッドをtry-catch
ブロックでラップしています。
これは例外を文字列に変換するため機能しますが、かなり洗練されておらず冗長に見えます。
- 例外をシリアル化しないように JMX に指示する一般的な方法はありますか? 「常に例外を文字列に変換する」のようなものですか?
- Spring のMBeanExporterを使用します。これを処理するSpringのメカニズムはありますか?
編集
問題のクラスをロードするように JVisualVM を構成できることがわかっています。ただし、特別な構成なしで JVisualVM を動作させたいと考えています。また、アプリケーション コードが利用できないシステムを実行する場合もあります。
java - デフォルトのJMXポート番号を見つける方法は?
リモートのWindowsXP上のJava6VMでJavaアプリケーションを実行しています。このアプリケーションで、jvisualvm.exeを実行して、実行中のアプリケーションに自動的に接続できます。
ローカルコンピュータからそのアプリケーションを接続する必要がありますが、リモートコンピュータのJMXポート番号がわかりません。どこで見つけることができますか?または、ポート番号を指定するために、いくつかのVMパラメーターを使用してそのアプリケーションを再起動する必要がありますか?
サーバーでJMXポートを見つける方法の質問を読んだ後、リモートコンピューターでコマンドを実行しました
しかし、何も得られませんでした。
java - jVisualVM - JIT アクティビティ メトリクス
jVisualVM を使用していくつかの J2EE コンテナーをテストしましたが、スコアを正しく解釈するのに問題があります。多くの場合、JIT アクティビティの値が 100% (800% の場合もあります) を超えていることがわかりました。どういう意味ですか?JIT アクティビティはプロセッサの数に基づいてカウントされることを読みましたが、そうであれば、プロセッサは 2 つしかなく、最大 . パーセンテージ アクティビティは 200% である必要があります。
説明はありますか?
java - jvisualvm - メモリ消費のあるライブ オブジェクトを表示する方法
JVisualVM を使用して、アプリケーションのライブ オブジェクトとそれに対応するメモリ カウントを (おそらくパッケージ レベルで) 確認しようとしています。
jstad接続を使用して接続するときに同じことを達成するにはどうすればよいですか
ありがとう
performance - jvisualvm のメソッド実行時間の内訳を取得する
jvisualvm を使用して Web アプリケーションをプロファイリングしています。たとえば、methodA に 5 秒かかるなど、さまざまなメソッドにかかる時間を確認できます...ただし、このメソッドをダブルクリックして 5 秒の経過を確認することはできません。いわば「掘り下げる」ことができます。
jvisualvm でこれを達成するにはどうすればよいですか?
ありがとう。
java - MAT EclipseのOQLで「AND演算子(&&)」を使用する方法
私はJavarmiアプリケーションのパフォーマンス調整に取り組んでおり、OQLを使用して以下のクエリを実行しています。
上記のクエリは、いくつかのレコードの後にこのエラーが続くJVisualVMで正常にコンパイルされます:-
結果が多すぎます。クエリを絞り込んでください。
同じクエリをEclipse-MATで実行できません。
&& tpoint.csf!=null
から削除すると、 Eclipse-MATabove query
で正常にコンパイルされます。また、JVisualVMと比較して非常に短い時間で、すべてのレコードが表示されます。
&& operator
Eclipse-MATで使用するための正しい構文を見つけることができません。
Eclipse-MATの適切なOQL参照を見つけるのに苦労しているので、適切な参照を高く評価します。
前もって感謝します...