最近、私はいくつかのコードの最適化に取り組んでいます(計算時間と最大メモリが必要です)。メモリコストを最適化する可能性があるかどうかを知るために、私はJProfilerを使用します。 通常JProfilerでGCアクティビティグラフを解釈するには?
- それはスパイクだ場合、それが高いかどう、私は
- グローバルに削減しようとする必要があり、私は今
中間オブジェクトの作成を削減しようとする必要があり、私は第2の状況にいる、とGCアクティビティグラフにスパイクが表示されますが、それはすべて2%未満です(下の画像を参照)。私はそれをどのように理解するべきですか?
デフォルトでは、GCアクティビティ曲線の合計/積分は、データを収集するために使用されたCPUの合計パーセントの推定値です。だからここでは最大2%よりはるかに少ないことを意味するでしょう
それは正しいですか?何か不足していますか?デフォルトでは
画像を追加できますか?また、GCアクティビティの詳細なGC解釈が必要な場合は、gcロギングを有効にして[gcviewer](https://github.com/chewiebug/GCViewer)を通じて実行してください。 – the8472
イメージを追加しました。私はgcのロギング機能を認識していません、それは何ですか? –
gcログは、GC全体のパフォーマンスに関するより詳細な統計情報を提供します。 jprofilerは、オブジェクトグラフや割り当てサイトの分析に適しています。集約動作をよりよく理解したい場合は、gcログを解釈することでより多くの洞察を得ることができます。何がどこに割り当てられているのかを知りたければ、プロファイラがより良い選択となります。答えのために – the8472