• 車種別
  • パーツ
  • 整備手帳
  • ブログ
  • みんカラ+

モエゾウのブログ一覧

2012年04月19日 イイね!

Javaのメモリトラブル

Javaのメモリトラブルは面倒ですね。
@ITに、参考になる記事があったので、忘れないようにメモっておきます。

どんな順番で問題点を切り分けるべきか?http://www.atmarkit.co.jp/fjava/rensai4/troublehacks01/troublehacks01_1.html#00

肥え続けるTomcatと胃を痛めるトラブルハッカー
http://www.atmarkit.co.jp/fjava/rensai4/troublehacks08/troublehacks08_1.html
※この記事はリアル感がありますね。。。
Posted at 2012/04/19 23:31:01 | コメント(0) | トラックバック(0) | Java | 日記
2012年04月19日 イイね!

Permanent領域のメモリチューニング

Permanent領域の情報って、少ないですよね。
最近、Perm関連でのトラブルがあって、ちょくちょく調べていましたが、今後のためにメモっておきます

○Permが増加する

Permには、クラス情報などがロードされるわけですが、アプリケーションが動作している間に増加し続け、Full GCのタイミングである程度解放され、また増加・・・を繰り返す、というのがありました。
原因は特定できていませんが、リフレクションを使っていると、一定回数の呼び出しがあると、そのクラスをバイトコード化して、メモリに載せる(Permに格納する)という仕組みがあるそうです。このため、Permが動的に増加していく。で、使わないときにFullGCで解放されるが、またメモリに格納され・・・を繰り返すそう。

最初からPermに格納するオプションがあるそうで・・・忘れました。思い出したら書きます。

○PermはいつGCされる?

Perm領域のオブジェクトは、Full GCでないと回収されません。
では、Permのみが増える(NewやOldは変化しない)として、Full GCが発生する契機は設定できる?
100%になるときにはJVMが勝手にやりそうですが、例えば90%とかで発生させられるのか?

Permがいっぱいになったら、Full GCが動くようです。
「When the old or permanent generation fills up, what is known as a full collection (sometimes referred to as a major collection) is typically done. 」
→OldもしくはPermが一杯になったら、フルコレクション(メジャーコレクションとも呼ばれる)が実施される。
※フルコレクション=フルGC、メジャーコレクション=メジャーGCと呼びますね。
http://www.oracle.com/technetwork/java/javase/memorymanagement-whitepaper-150215.pdf?ssSourceSiteId=otnjp


あと、きっとこのへんを読むとわかる?
http://www.oracle.com/technetwork/java/gc-tuning-5-138395.html
http://www.oracle.com/technetwork/java/javase/memorymanagement-whitepaper-150215.pdf?ssSourceSiteId=otnjp
http://www.oracle.com/technetwork/java/javase/tech/index-jsp-136373.html
http://www.oracle.com/technetwork/java/faq-140837.html


それと、ちょっとメモ。

・JVMのオプションで、 -XX:+ TraceClassloading と -XX:+ TraceClassUnloading をつけると、クラスのロード・アンロードでログ出力される(コンソール出力?)。




○基本

Permの基本は、この記事が分かりやすいかと。

Permanent領域のチューニング
http://www.atmarkit.co.jp/fjava/rensai3/devedge06/devedge06_2.html

でも、これだけじゃ細かいところがわかりません。上記のリンクを読まないといけません。
Posted at 2012/04/19 21:06:59 | コメント(0) | トラックバック(0) | Java | パソコン/インターネット

プロフィール

2006年3月に、ティーダオーナーとなりました。 →その後、義母に譲り、現在はマークX。
みんカラ新規会員登録

ユーザー内検索

<< 2025/8 >>

     12
3456789
10111213141516
17181920212223
24252627282930
31      

ブログカテゴリー

愛車一覧

トヨタ マークX マーク (トヨタ マークX)
男の真ん中で居たいので。
日産 ティーダ 日産 ティーダ
通算8台目となりました。 前のプレサージュ号が故障したため、急遽買い替えとなりました。
トヨタ マークII トヨタ マークII
シルビアよりもパワーがあって、もう少し広い車が欲しくて購入しました。シルビアが事故に巻き ...
日産 プレサージュ 日産 プレサージュ
友人のグランディスに乗って、ああミニバンもいいなぁと感じ、結婚するタイミングで乗り換えま ...

過去のブログ

2012年
01月02月03月04月05月06月
07月08月09月10月11月12月
2007年
01月02月03月04月05月06月
07月08月09月10月11月12月
2006年
01月02月03月04月05月06月
07月08月09月10月11月12月
ヘルプ利用規約サイトマップ
© LY Corporation