7月 29, 2011

今日はJavaのGCばかり見守っていた

う~ん、コンカレントGCの動きがよくわからない…
Javaに負荷をかけてみたのですが、OLD領域がheapの大部分を占めるまで消費していったあと、コンカレントGCが大量に動いて、一気にheap領域がクリアされた。仕組みの簡単な解説を見る限りでは、アプリケーションスレッド単位で処理をしているみたいなのだが、スレッドの生成数の10倍近いRemark処理が動いたあと、一気にメモリが解放されている。
最終的にOLD領域が掃除されているので問題はないのだが…微妙に動きがわかりません…。
GCについて、色々調べているとJava6Update14からはG1GCなるものが実装されているらしい。ただチューニングについての情報がなかなかないんですよねぇ。Java7までは視野に入れなくても良いかな。