
お世話になります。
java -verbose:ge クラス名
で実行したところ
[GC 511K->372K(960K), 0.0297021 secs]
[GC 849K->829K(1344K), 0.0320455 secs]
[Full GC 829K->829K(1344K), 0.0650338 secs]
[GC 1277K->1237K(1852K), 0.0499598 secs]
[GC 1749K->1749K(2272K), 0.0198444 secs]
[Full GC 1749K->1749K(2272K), 0.0806215 secs]
のような結果を得ましたが、
これはどのようにみればよいのかがわかりません。
見方もしくは解説があるサイトを教えていただけますか?
No.2ベストアンサー
- 回答日時:
FullGCはJavaVMが確保しているメモリ空間全てに対して
開放できるメモリがないか調査します。
一般的に処理時間が多くかかる傾向にあります。
それに対しGCは一部分(世代管理されていれば新世代だけといったもの)
に対してメモリチェックを行います。
細かいことは各種JavaVMでのGCの実装によって違うので
はっきりとはいえません。
ちなみにFullGCはSystem.gc()を使って意図的に発生させることができます。
メモリ変化がない場合は文字通りGCを行っても
メモリを開放できる部分が無かったことを表します。
既にメモリ開放された状態で意図的にSystem.gc()を使い
FullGCを発生させてもメモリ変化がないケースがあるといえます。
質問の例では、なぜそのような現象が起こるかは
別途調査が必要かもしれませんが、ただ単にJavaVMの
GCアルゴリズムが良くないのかもしれません。
なるほど。。。
わかりました!
ありがとうございました。
>各種JavaVMでのGCの実装によって違うので
はっきりとはいえません。
これってJavaの質問の際によくでてくるフレーズですね。
キーワードですね!
No.1
- 回答日時:
>[GC 511K->372K(960K), 0.0297021 secs]
これを例にとると
1.GCが行われた
2.メモリ使用量511Kbytes
3.GC後メモリ使用量372Kbytes
4.javaVMが確保しているメモリ空間は960Kbytes
5.GCにかかった時間は0.0297021秒
補足
Runtimeクラスのメソッドで同様の情報が取得できます。
参考URL:http://java.sun.com/j2se/1.3/ja/docs/ja/api/java …
ご回答ありがとうございます。
あとFullGCと普通のGCの違いはどう違うのでしょうか?
[Full GC 829K->829K(1344K), 0.0650338 secs]
[GC 1277K->1237K(1852K), 0.0499598 secs]
の部分ではGC後使用メモリに変化がないのですが、
これはどういうことでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAの配列サイズとメモリに関して
-
メモリのセグメント違反の解決...
-
大容量のメモリ確保をスワップ...
-
エクセルのメモリ使用状況/Appl...
-
クリスタルレポートでメモリ不...
-
バッチファイルでの実行EXEのメ...
-
リソースモニターでの仮想メモ...
-
「memcpy」と「strcpy」について
-
論理アドレスの割り当て方法
-
Connection、ResultSet、、Stat...
-
「ヒープサイズの設定」て何?
-
EXCEL-VBAにてADOのレコードセ...
-
C#、VB.NET、C++.NETでのメモリ...
-
オブジェクトの開放
-
C言語で、メモリを解放しないで...
-
VB.netでUSBメモリの固有I...
-
メモリを解放しないとどうなる?
-
CPUやメモリの使用率を調べ...
-
メモリアクセス時間の計測方法
-
メモリが不足しています(VBA)
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
メモリが不足しています(VBA)
-
VBAの配列サイズとメモリに関して
-
C言語で、メモリを解放しないで...
-
メモリのセグメント違反の解決...
-
エクセルのメモリ使用状況/Appl...
-
「ヒープサイズの設定」て何?
-
メモリを解放しないとどうなる?
-
エクセルVBA 大容量CSVファイル...
-
メモリ不足
-
H8 マイコン セクションの設...
-
EXCEL-VBAにてADOのレコードセ...
-
組み込み系でのmallocについて
-
C言語における再帰呼び出しの...
-
「memcpy」と「strcpy」について
-
メモリーリークエラーが起こる
-
こんなメッセージがでます
-
VB2005 Datagridview の仮想モ...
-
メモリの解放の仕方
-
VB.netでUSBメモリの固有I...
-
バッチファイルでの実行EXEのメ...
おすすめ情報