2010-11-30 4 views
10

現在、Visual Javaを使用してJavaアプリケーションのヒープメモリ使用量を監視しています。しかし、私は何らかの形でヒープメモリの使用量を見たいと思っています。たとえば、スナップショットを取得するだけでなく、1日のような時間のような時間の範囲でも使用できます。Visual VMまたはツールを残して、その後1日後に私は戻ってそのグラフを見ることができます。 Visual VMを使用してこれを行う方法はありますか?はいの場合、どうですか?そうでない場合は、これを実行するためにどのツールを使用できますか?Javaでヒープメモリ使用量の視覚的なグラフを時間軸で取得する

答えて

3

は、次のJavaオプションを使用してJavaプログラムを実行します。

-Xloggc:log.out -XX:+PrintGCDetails -XX:+PrintGCTimeStamps 

log.outを視覚化するHPjmeterをダウンロードしてください。

また、実行するためのオプションについては、SUNのGC portalウェブページを参照してください。データはファイルに書き込まれるため、数日または数週間分のデータを収集する際に問題は発生しません。もちろん、多くの情報を持つデータを視覚化したい場合は、HPjmeterをより多くのメモリで実行する必要があります。

他のオプションはJConsoleです。

+0

彼らが、GCログであることを私には思えます。メモリピークが発生するたびにログに記録されますか? – Jeune

+0

@Jeune - GCログはGC後のヒープ使用率を示します。おそらく、Javaヒープ使用量の最も正確な指標です。記憶のピークとは何の関係もありません。それを試してみてください... –

+0

GCが呼び出され、最終的にログに記録されるのは、しばしば特定の期間にわたって正確なヒープメモリ使用量をグラフ化できることですか? – Jeune

2

JConsoleの[メモリ]タブを試してください。 JConsoleはJVisualVMなどのOracle JDKにも含まれていますので、すでにインストールしておく必要があります。それはあなたがしたいことのために働くべき "all"の時間範囲を持っています。それは次のようになります。

screenshot of jconsole

関連する問題