Tuning Java SE for Throughput and Latency #java_tune

Oracle University 特別セミナー:Tuning Java SE for Throughput and Latency http://www.oracle.com/webapps/events/ns/EventsDetail.jsp?p_eventId=152406 ハッシュタグ #java_tune を中心にあまりまとまっていないけどまとめました。アジェンダは以下。 - Javaパフォーマンスチューニングの概要 - Java HotSpot VMのガベージ・コレクション 続きを読む
6
Takahiro YAMADA @yamadamn

Oracle青山センターにて、Javaチューニング特別セミナー開始待ち。 かなりの盛況ぶりだな。

2012-06-06 13:29:28
寺田佳央@クラウド・アドボケイト @yoshioterada

@sugarlife @yamadamn @making 先ほど少しだけ覗かせていただきました。今日のハッシュタグは?#java_tune ?

2012-06-06 13:47:41
Takahiro YAMADA @yamadamn

そのハッシュタグでいきましょう "@yoshioterada: @sugarlife @yamadamn @making 先ほど少しだけ覗かせていただきました。今日のハッシュタグは?#java_tune ?"

2012-06-06 13:48:55
KUBOTA Yuji @sugarlife

GCチューニングのゴールは多くのオブジェクトをYoung領域に格納させ、FullGCを避ける。GCは大量のメモリアクセスを行うので、SWAPが発生させないようにするのも重要。#java_tune

2012-06-06 13:52:59
Takahiro YAMADA @yamadamn

#java_tune -XX:PrintFlagsFinalは最近のオプションというのは知っていたけど6u21からだったか。

2012-06-06 13:53:13
Toshiaki Maki 💉💉 @making

-XX:UseParallelOldGC、-XX:UseParallelGCからチューニング始めて、必要に応じて-XX:ParalellGCThreads #java_tune

2012-06-06 13:57:18
Takahiro YAMADA @yamadamn

#java_tune ParallelOldGCは5u6以降とか、こういう細かい情報は、仕事柄重要だな。

2012-06-06 13:58:19
Toshiaki Maki 💉💉 @making

ParallecGCでだめな場合、まずは64bit OSにする、メモリを足す、JVMを複数に分ける等検討しろ。そのあとConcurrentへ #java_tune

2012-06-06 14:00:12
nohoyan @nohoyan

#java_tune T系のパラレルGCの時にハードスレッドの5/8に合わせるとは知らんかった。

2012-06-06 14:00:42
Toshiaki Maki 💉💉 @making

ヒープのプロファイルもしてアロケーションを減らす(アプリを修正する)のもね #java_tune

2012-06-06 14:01:08
Takahiro YAMADA @yamadamn

#java_tune 場合によってはアプリケーション機能ごとにJVMを分ける。それぞれ専用のプロセッサを割り当てることも考慮。

2012-06-06 14:01:49
Toshiaki Maki 💉💉 @making

マイナーGCのポーズタイムが長い場合、CMSやG1を考えてもいい。ただしスループットは下がる #java_tune

2012-06-06 14:02:16
KUBOTA Yuji @sugarlife

#java_tune@sugarlife: CMS collector を使う場合は、一般的にOLD領域を20%程大きく取る必要がある。”

2012-06-06 14:03:25
Toshiaki Maki 💉💉 @making

CMSやG1は通常の処理と並行してGCを行うから待ち合わせ等でスループットが下がる可能性あり #java_tune

2012-06-06 14:03:52
KUBOTA Yuji @sugarlife

FullGCが避けられない場合、-XX:+CMSInitiatingOccupancy{Fraction|Only}で早めにCMSを起動#java_tune

2012-06-06 14:06:46
Toshiaki Maki 💉💉 @making

CMSでFillGCが避けられなかった場合、-XX:+CMSInitiatingOccupancyFractionをつけて早めにCMSを起動 #java_tune

2012-06-06 14:06:49
Toshiaki Maki 💉💉 @making

60%とか70%に > CMSInitiatingOccupancyFraction #java_tune

2012-06-06 14:07:34
KUBOTA Yuji @sugarlife

CMSでFullGCが避けられない場合、Oldを大きくYoungを小さく、64bitJVMの検討、Memoryの追加、アプリを分割して複数JVMの利用検討、ヒーププロファイリングをしてオブジェクト割当を減らす。#java_tune

2012-06-06 14:08:49
Toshiaki Maki 💉💉 @making

-XX:+UseCMSInitiatingOccupancyOnlyでほげほげ(聞き逃した) #java_tune

2012-06-06 14:08:54
Toshiaki Maki 💉💉 @making

オプション名が長くてつぶやくのが辛い #java_tune

2012-06-06 14:09:18
Toshiaki Maki 💉💉 @making

glassfish勉強会にいた人大杉わろた #java_tune

2012-06-06 14:10:15
KUBOTA Yuji @sugarlife

ビクッ “@making: glassfish勉強会にいた人大杉わろた #java_tune

2012-06-06 14:11:51
KUBOTA Yuji @sugarlife

G1GCは7u4より商用サポートが利用可能になった。#java_tune

2012-06-06 14:12:39
Toshiaki Maki 💉💉 @making

G1GCを使う場合は-Xms、-Xmxと-XX:MaxGCPauseMillis(目標ポーズ時間)をつけるとよい。ソフトリアルタイム的なやつ #java_tune

2012-06-06 14:15:54
1 ・・ 5 次へ