LinuxのJAVAチューニングスレ

http://pc10.2ch.net/test/read.cgi/linux/1004594459/l50

175 名前: login:Penguin [sage] 投稿日: 04/10/21 03:21:42 ID:q3+xfPyX
-Xconcgc (=-XX:+UseConcMarkSweepGC) は、 
GC処理を複数に分割して stop the world 期間を 
短くするタイプの old generation に対する GC。 
1CPUでも効果がある場合が在るが、デフォルトの 
GCより処理が複雑なので throughput は低下する 
のと相殺されて微妙なところ。 

-XX:+UseParNewGC は young generation のGC 
を複数CPUで行うもの。デフォルトの young generation 
のGCより処理が複雑になるので1CPUだと却って遅くなる。 

-XX:+UseParallelGC は、 

180 名前: デフォルトの名無しさん [sage] 投稿日: 04/12/30 20:34:39 ID:RdQRCh5O
>>175 
タイプの old generation に対する GC→古い世代のGC 
young generation のGC→新しい世代のGC 

ConcMarkSweepGCは並列GC。大Steele様の論文に端を発する奴。 
UseParNewGCはコピーGCの並列版。Bakerの論文に端を発する奴の並列版。 

> -XX:+UseParNewGCを試した限りでは長いポーズは発生しなかったみたいです。 
> ちなみに、-Xconcgcと組み合わせてみた結果ですが。 

意味がないです。どちらかが優先されているはずです。 
全然違うアルゴリズムですから。 

190 名前: login:Penguin [sage] 投稿日: 2005/04/11(月) 21:03:46 ID:mSogY138
>>180 
-XX:+UseConcMarkSweepGCと-XX:+UseParNewGCは組み合わせられるでしょ。 
-XX:+UseParallelGCは、-XX:+UseConcMarkSweepGCと組み合わせられないけど。 

195 名前: login:Penguin [sage] 投稿日: 2005/08/23(火) 11:52:56 ID:xe0JIisw
-Xcongc 
で 
-XX:+PrintTenuringDistribution 
つけてNew世代での移動を監視しようとすると 

どんなにサバイバル領域を広くしても 

Desired survivor size 32768 bytes, new threshold 0 (max 0) 

と全部移動してるように見えるのですが 
これは使用ですか? 
それともバグですか? 

196 名前: login:Penguin [sage] 投稿日: 2005/08/23(火) 12:11:13 ID:xe0JIisw
すみません、自己レスです。 
どうやらこれは 
-Xconcgc の影響ではなく 
-XX:+UseParNewGC の影響だったようです。 

しかし同時に 
-XX:+UseParNewGC 
を使用することによって同様に 
-XX:+PrintTenuringDistribution 
の結果が>>195のようになります。 

また、-XX:+UseParNewGCを使用すると 
NewRatioの値が無視され、NewSize MaxNewSizeのみしか 
New領域のサイズを指定できないことがわかりました。