タグ

heapに関するdonkunのブックマーク (2)

  • JavaVMのメモリ管理に関するまとめ(Javaヒープ、GC、ダンプ等) - ぺーぺーSEのブログ

    ブログはJava8(特にMetaspace)に対応していない。 下記にJava8以降に対応した記事を記載する(予定)。 blog.pepese.com JavaVMのメモリ領域について JavaVMが管理するメモリ領域について 階層1 階層2 階層3 説明 Javaヒープ JavaVM上で起動するJavaプログラムのリソースを管理する領域。New領域とOld領域で構成される。 l" New領域 新規オブジェクトと閾値(-XX:MaxTenuringThreshold)未満のオブジェクトが配置される。(Young領域とも呼ばれる) l l" Eden領域 新規のオブジェクトが配置される。 l l" From領域 CopyGC(ScavengeGC、マイナーGC)が実行された際に、使用中のオブジェクトはここへコピーされる。(S0やS1とも呼ばれる) l lー To領域 CopyGC(Scav

    JavaVMのメモリ管理に関するまとめ(Javaヒープ、GC、ダンプ等) - ぺーぺーSEのブログ
  • メモリリークトラブルシューティング記 – その4: リーク箇所を確認する色々な方法 – yusuke.blog

    – その1: 自宅サーバがハング – その2: フリーズの原因はガベージコレクション – その3: 侍でヒープ使用量を確認 – その4: リーク箇所を確認する色々な方法 前回のエントリではOld 領域にオブジェクトが溢れていることを突きとめた経緯を書きました。 次は、ヒープ領域にどんなオブジェクトが溜まっているのか確認する必要があります。 リークしているオブジェクトを検出する方法はいくつかあり、それぞれ以下のような特徴があります。 1. プロファイラ リーク検出を行う上で一番有名な方法。 JVM に特殊なフックをかけ、オブジェクトの生成、GC 等の挙動を監視します。 アプリケーションを動作させながら増加してくオブジェクトだけを抽出したり、オブジェクト生成に至るスタックトレースを確認したりと様々な視点で VM を調査できるのが特徴です。 一般的にプロファイラを使うと VM のパフォーマンスが

    メモリリークトラブルシューティング記 – その4: リーク箇所を確認する色々な方法 – yusuke.blog
  • 1