9

Java で非常にパフォーマンスに敏感なアプリケーションを使用しています。(実際には C か何かを使用する必要があることはわかっていますが、現在は Java です。) オブジェクトの作成と破棄を避けようとしています。ここで、まだガベージ コレクションがどの程度行われているかを知る必要があります。

どうすればわかりますか?

可能であれば、追加のソフトウェアのインストールを必要としない、ミリ秒またはナノ秒単位の数値を取得したいと考えています。

4

4 に答える 4

8

または、JVM に GC アクティビティを出力させることもできます。これらの設定は次のとおりです。

-verbose:gc -XX:+PrintGCTimeStamps -XX:+PrintGCDetails -XX:+PrintTenuringDistribution -Xloggc:logs/gc.log

GC アクティビティは、logs/gc.logファイルに出力されます。

于 2013-04-17T15:10:50.490 に答える
7

VisualVMなどのツールを使用して、アプリケーションのアクティビティを監視できます。適切な GC アルゴリズムを使用していることを確認してください。

Oracle JVM には、複数のタイプのガベージ コレクタが用意されています。

  • スループットコレクター
  • 並行低休止コレクター
  • インクリメンタル (トレインと呼ばれることもある) 低ポーズ コレクター:

これらのコレクターの詳細については、こちらをご覧ください。

于 2013-04-17T15:05:59.413 に答える
2

これにはVisualVmを使用できます。まさに必要なものです。
以下に示すように、非常に便利な GC アクティビティがあります。

ここに画像の説明を入力

GC アクティビティのほかに、ヒープの使用状況、CPU の使用状況、オブジェクト インスタンスの使用状況など、多くの詳細があります。

于 2013-04-17T15:05:02.830 に答える