問題タブ [hprof]
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 - java.hprof.txt をバイナリ hprof 形式に変換する方法は?
バイナリ hprof 形式に変換したい java.hprof.txt ファイル (OutOfMemoryError の後に自動的に生成される) があります。これを行う簡単な方法はありますか?
java - これらの HPROF エラーは何を意味しますか?
コンソール ログに次のエラーが表示されます。
SUN 1.4.2-12 JDK を搭載した BEA Weblogic App Server 8.1 で実行しています。
起動時にこれらのデバッグ フラグを JVM に渡します。
サーバーの起動直後にエラーが出力されます。
エラーの意味は何ですか?
java - -agentlib:hprof プロファイリング出力を表示する HPjmeter のようなグラフィカル ツール
組み込みの JVM プロファイラーの出力を表示するには、どのツールを使用できますか? たとえば、次のように JVM を開始しています。
これにより、hprof ("JAVA PROFILE 1.0.1") 形式で出力が生成されます。
私は過去に、HPjmeterを使用してこれらの出力ファイルを合理的な方法で表示することに成功しました。ただし、何らかの理由で、現在のバージョンの Sun JVM を使用して生成されたファイルは、現在のバージョンの HPjmeter にロードできません。
(なぜ彼らは無料の製品のバイトコードを難読化するのでしょうか?!)
このことから、次の 2 つの疑問が生じます。
- この HPjmeter エラーの原因を知っている人はいますか? (編集:はい - 以下を参照)
- hprof ファイルを読み取るために他にどのようなツールがありますか? そして、なぜSunからは何もないのですか(ありますか)?
Eclipse TPTPやその他のツールが JVMTI データをオンザフライで監視できることは知っていますが、デプロイされたマシンには JRE (JDK ではなく) しかインストールされていないため、生成された hprof ファイルを後で処理できるソリューションが必要です。
編集: 非常に役立つ HPjmeter 開発者が、HP ITRC フォーラムでの私の質問に回答し、 HPjmeter のバグが修正されるまで一時的にオプションheap=dump
に含める必要があることを示しました。-agentlib
この情報により、HPjmeter は再び実行可能になりますが、他のツールについて知っている人がいないかどうかを確認するために、質問を開いたままにします。
編集: HPjmeter のバージョン 4.0.00 (2009 年 5 月に利用可能) の時点で、このバグは修正されています。
java - Sun Java 5 で実行中のアプリケーションで hprof を使用する
エンタープライズ Java アプリケーション (ear - 少数の ejb と webapp) を weblogic 10 にデプロイし、Sun Java 5 を使用しています。応答時間、CPU、およびメモリ使用量は、少数のユーザーの負荷の下では問題ありませんが、同時ユーザーを > 100 しばらくすると、大きな CPU スパイクが見られます (たとえば、100 ユーザーの負荷テストでは、30 分以上のテスト後に CPU が高くなります)。hprof を使用してアプリのプロファイルを作成し、統計を収集したいと考えていましたが、CPU の使用率が高い場合、つまりテストの 30 分後にのみ実行したかったのですが、それを行う方法はありますか?
Sun Java 5 を使用しているため、jmap を使用できません。
java - Java:runhprof出力で複数のオブジェクトが表示されるのはなぜですか?
runhprofの出力に興味がありましたか?私は主に記憶の部分に関心があります。同じクラスのエントリが複数あるようです。なぜそうなるのでしょうか。
特定のクラス(そのクラスのインスタンス)がメモリ内で占めるメモリ量をhprofに出力させる方法はありますか?クラスごとに1つの値。
また、出力を分析するために「帽子」のほかにどのツールを使用しますか?
jvmargを使用してjavaコマンドを実行しました。
-Xrunhprof:heap = sites、depth = 4、format = a、file = prof / hprof_dump.txt
これが出力の簡単な抜粋です。一部のクラスは、出力に複数回リストされます。
java - Java 1.4 アプリケーションのプロファイリング情報を収集する方法は?
JRE 1.4.2_12 で動作する私がサポートする Java アプリケーションは、毎晩真夜中近くにハングアップします。JVMまたはアプリの外部に問題があるかどうかを発見するために、できるだけ多くのプロファイリング情報を記録したいと思います.
HPROF を使用して、できるだけ多くの情報を収集したいと考えています。
- JVM の終了時ではなく、HPROF が CPU サンプルとメモリ割り当てレポートを毎分ダンプする方法はありますか?
- このような情報を収集できる別のより適切なプロファイラーはありますか?
java - jhat の -baseline オプションが機能しないのはなぜですか?
2 番目のスナップショットにはあるがベースライン スナップショットには含まれていないオブジェクトだけではなく、すべてのオブジェクトが新規としてマークされているように見えるのはなぜですか? オンラインで調べてみると、jmap の代わりに hprof を使用してメモリ ダンプを作成する必要があるという提案がいくつか見られますが、hprof はまったく同じ形式でダンプを生成するようです。
これは JDK 1.6.0_14 です。Windows と UNIX の両方で試しました。
java - hprof/jmap ダンプを VisualVM と比較できますか?
アプリケーションをプロファイリングしようとすると、VisualVM がクラッシュしますが、アプリケーションから実行した jmap メモリ ダンプを VisualVM にロードできれば、VisualVM をアプリケーションにアタッチしなくても、必要な回答を得ることができるでしょう。ランニング。
それで、これを行う方法はありますか?