IDEA7はクソ重いんじゃ
m2出たから,ちょっとはマシになっただろうかと思えば,相変わらず重かった。orz
最近のIDEAが重いことに不満を漏らしている人はそこそこいるらしいんだが,TSS.comのコメントにある「だったらVMの設定変えれ」ってのは,あんまりだなーって思った。IDEAは好きだけど,重いもんは重いんだから文句言ったっていいじゃないか。
まー,使ってるマシンスペックのせいってのもあるけどね。実際,会社のPCより家のMacBookのほうが快適に動いてるし(会社のは,もう5年くらい使ってる)。
とは言え,多少なりとも良くなるんだったらと思い,VMの設定をこんな具合に変えてみた。
-Xms256m -Xmx386m -XX:NewSize=128m -XX:MaxNewSize=256m -XX:MaxPermSize=96m -Xincgc
何が悲しくて,こんなことせにゃならんのかと思いつつも,YourKitでモニタリングしながらIDEAを使ってみたら,ヒープの消費量やGCは随分改善されたぞ(それも体感できるほどに,だ)。
#インクリメンタルGCも使ってみるモンだな。
(追記)思うところあって,今はこの設定にしてる。
-Xms386m -Xmx386m -XX:NewSize=230m -XX:MaxNewSize=230m -XX:SurvivorRatio=32 -XX:TargetSurvivorRatio=90 -XX:MaxTenuringThreashold=2 -XX:MaxLiveObjectEvacuationRatio=4 -XX:MaxPermSize=96m -Xincgc
えっと,特色すべき点は,
- デスクトップアプリにも関わらずヒープサイズを固定してる。:-P
- ちょっと悩んだんだけど,そこでケチっても仕方ないしなぁ。
- それと「-XX:NewRatio」が期待通りに設定されないってのも理由のひとつ。
- New領域をTenured領域より大目に取ってる。
- 測定してみるとTenuredの消費率って50%程度しかないので,大目に取っておく意味がわからん。
- 正直,世代別GCってデスクトップアプリじゃ,無駄が多いよなぁと。
- Suvivor領域はほとんどとってないデス。
- Eden,Survivorでぱちゃぱちゃやっても埒があかんので,とっととプロモートしなさい。
- てなわけで,「-XX:MaxTenuringThreshold」も2才。
- 「-XX:TargetSurvivorRatio」は,もっと小さくてもよかったかな(この辺は,微々たるもんだからどうでもいい)。
- でもSurvivorを0にする勇気がなかった。
あたりかと。テーマは「いざとなったらFull GCボタンがあるから,いいや」。:-)