問題タブ [jprofiler]
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 - 「JNI グローバル リファレンス」とは
jProfiler を使用して、Java Swing アプリケーションのメモリ リークを見つけています。数が増え続ける JFrame のインスタンスを特定しました。
このフレームは開いてから閉じます。
jProfiler を使用して GC ルートへのパスを表示すると、「JNI グローバル参照」という 1 つの参照しかありません。
これは何を意味するのでしょうか?フレームの各インスタンスにぶら下がっているのはなぜですか?
java - 解放されていないオブジェクトを保持しているものをどのように把握できますか?
私たちのプログラムの 1つで、OutOfMemoryあるユーザーのマシンでエラーが発生することがありますが、もちろん私がテストしているときはそうではありません。JProfiler を使用して実行し (これまで使用したことがないため、10 日間の評価ライセンスで)、コード プレフィックスでフィルタリングすると、合計サイズとインスタンス数の両方で最大のチャンクは、特定の単純なクラスの 8000 以上のインスタンスです。 .
JProfiler の [ガベージ コレクション] ボタンをクリックすると、他のクラスのほとんどのインスタンスが消えましたが、これらの特定のインスタンスは消えませんでした。同じインスタンスで再度テストを実行すると、クラスの 4000 以上のインスタンスが作成されましたが、[ガベージ コレクション] をクリックすると、それらは元の 8000 以上のインスタンスを残して消えてしまいました。
これらのインスタンスは、さまざまな段階でさまざまなコレクションにスタックします。それらがガベージコレクションされていないという事実は、何かがコレクションの1つへの参照を保持しているため、オブジェクトへの参照を保持していることを意味するに違いないと思います。
何が参照を保持しているのかを理解する方法はありますか? コードで何を探すべきかの提案と、ある場合は JProfiler でこれを見つける方法を探しています。
java - JProfiler と YourKit のどちらの Java プロファイラーが優れていますか?
汎用プロファイリングとヒープ分析には、どのプロファイラーが適していますか? 私たちのアプリの 90% は、実質的なデータベースと数値処理を備えたスタンドアロンのコマンド ライン プログラムです。残りの 10% は Web アプリケーション/サーブレット コンテナ アプリケーションです (JSP はほとんどなく、スクリプトはありません!)。ターゲット ユーザーは、5 ~ 10 年の業界経験を持つシニア ソフトウェア エンジニアです。Sun JDK 5 および.
この質問を書いている時点 (2008-10-02) では、JProfiler は 5.1.4 で、YourKit は 7.5 でした。YourKit 8.0 が間もなくリリースされるようです。
java - これらのバイト[]はどこにありますか? (JProfiler を使用する Java で)
メモリ リークが発生している Java プログラムをプロファイリングしています。JProfiler を使用すると、大量の byte[] データが取得されます。それについてのより多くの情報を知る方法はありますか?いつ割り当て/作成され、どこにありますか?
.net - .NETに相当するJProfilerはありますか?
私は、Jprofilerを使用してJavaプログラムをプロファイリングすることに慣れています。これにより、各クラスとメソッドのCPUパーセンテージの内訳を取得できます。.NET用の同様のツールはありますか?
java - Eclipse統合でJProfilerランチャーを切り替える方法
Eclipse IDE(Eclipse 3.5)のJProfilerプラグインは、私のマシンにインストールされているJProfiler6.xで動作するように構成されています。
マシンにインストールされているJProfiler4.xで動作するようにEclipseを構成したいと思います。Eclipse UIを介してそれを行うにはどうすればよいですか?
[実行]->[プロファイル構成]でこのオプションを見つけようとしましたが、このオプションが見つかりませんでした。
私は実際に、正しいJProfilerの場所へのパスを置き換えることができるダイアログを探しています。
java - jProfiler がサイズ X のヒープ ダンプを分析するには、どのくらいのメモリが必要ですか?
X (= 5 ギガバイト) のヒープ サイズがあります。このヒープを効率的に分析するには、jprofiler にどれだけ割り当てる必要がありますか?
java - 余分なクエリをデータベースに送信するHibernate
Hibernateが要求したよりも多くのクエリを実行していて、その必要性がわからないという奇妙な問題があります。
これが私のコントローラーです:
UserServiceは次のとおりです。
findUser()の呼び出しには約140msかかります...かなり困惑します。データベースは、一部のハンドラーでのこのクエリを含め、他のクエリに対しては問題なく実行されます(最初のクエリ実行ではない場合と思われます)。
JProfilerは、呼び出されるたびに、4つのクエリがデータベースに送信されることを提案しています(必ずしもこの順序である必要はありません)。
実際のクエリにはまったく時間がかからず、ほとんどの時間はその4番目のクエリに費やされていることは明らかです。これについて私は何ができますか?Hibernateログ出力には表示されず、最初の実際のクエリのみが表示されます。ちなみに、 getJpaTemplate()の呼び出し後、つまり実際にはjpa.find()メソッドですべての時間が費やされます。
何か案は?
更新:他の誰かが同じクエリのセットを投稿したため、データベースへのある種の初期接続を複数回行うのは休止状態であることがわかりました(http://ondra.zizka.cz/stranky/programovani/java/hibernate_netbeans_howto_tutorial .texy)。hibernateが最初の接続を繰り返し行うのはなぜですか?接続プールを使用していません-どうすれば確認できますか?
hibernate - 休止状態のパフォーマンスを測定する方法は?
休止状態でパフォーマンスを測定する方法は? 休止状態でクエリを実行するのにかかる時間を知りたいですか?
java - jvisualvm または NetBeans プロファイラーで使用できるコール ツリー ビューはありますか?
JProfiler はライブ コール ツリー ビューを提供するため、何が CPU をリアルタイムで使用しているかを確認し、詳細を掘り下げることができます。いつでもカウントをゼロにリセットし、すすぎ、繰り返します。
私は現在そのツールを持っておらず、無料/オープンな代替手段でなんとかしようとしています. jvisualvm と NetBeans プロファイラーには、静的スナップショット呼び出しツリーとライブ フラット ビューがあります。ライブ コール ツリー ビューが利用可能 (またはプラグインとして) あると思われますが、見つけられないようです。
この種の機能は商用プロファイラーでのみ利用できますか?
ありがとう。