IDEA版Visual GC Integration
一応できた。他にもやりたいこともあるが,この手の趣味プログラムは引き際が肝心だから,今回はこれでよしとしよう。:-)
JSplitPaneの右側(GraphGC)と下側(VisualAgeHistogram)に貼り付けたコンポーネントがピタっと収まらないんだけど,どうすりゃいいんだろ?
#JWindow.pack()みたいなのはJSplitPaneには無かったんだよね。orz
この際だからSwing本(asin:4873112788)買おうかなぁ...
Visual GC本体部分はIDEAと関係ないから,あまり語ることはないよ。NetBeans版がEditorだったのに対してIDEA版をTool Windowにしたのは,Editorのホゲり方を知らなかったってのと,Tool WindowはFloating状態できるのが便利そうだったから。
できた後で思ったことだが,project-componentにしてあるんで,プロジェクトを閉じてる間は使えないってのが,ちょっと間が抜けてたかなと思った。なんでま,プロジェクトを開いている,まさにその時のモニタリングはできないのだ。
だからといって,application-componentでTool Windowが使えるのかどうかもよくわかってないから,まーこれでいいやって感じ。:-P
ちなみに,VisualGCを題材にしたのは,IDEAのチューニングに未だに執心してるからだ。もうここまでくると,IDEAがどうのっていうよりマシンスペック的に限界っぽいので,もう悪あがきは止めることにする。とりあえず,余計な常駐モノは極力外して空きメモリを確保する方向で決着させよう(もう不毛過ぎる)。
いろいろあって,こんなパラメタで落ち着いた。
-Xms340m -Xmx340m -XX:NewSize=220m -XX:MaxNewSize=220m -XX:SurvivorRatio=3 -XX:TargetSurvivorRatio=100 -XX:MaxTenuringThreshold=31 -XX:MaxLiveObjectEvacuationRatio=1 -XX:MaxPermSize=96m -Xincgc
やっぱりNew→Tenured直行コースはムリがあったので,Survivorをふんだん(?)に取って緩衝領域として活躍してもらうことにした(TargetSurvivorRatio=100がその証だ)。
#SurvivorRatioはもちっと椀飯振る舞いしてもよかったかな?
あと「New>Tenured」は譲れない。とは言え,Tenuredを極端に少なくしすぎて痛い目にあったから「Eden≒Tenured」くらいにしとこかな。口惜しいのはPermanentの96m。でも,ほっといても80数m消費するんだから,これもまた致し方なしなのだろう。
最近の平均的なマシンスペックがどの程度のモノなのかはわからんが,Pen4(2GHz) 1G mem程度だと結構キツいので,「IDEA使ってみようかなぁ〜」という物好きな方はマシンスペックに気をつけてね。
#だれか,わしにスペックのよろしいマシンをくれんか。:-P