タグ

GCに関するashimonのブックマーク (2)

  • OutOfMemoryError が出た時の解決へのアプローチ

    java.lang.OutOfMemoryError は、Java VM がヒープメモリ不足により、オブジェクトに メモリを割り当てることが出来ず発生するエラーです。 Java VM 起動時にヒープメモリサイズを指定しますが、指定したヒープメモリサイズを使いきって しまったときに発生します。 OutOfMemoryErrorが発生した場合のアプローチとJava VMパラメータチューニングによる安定動作の運用事例についてご紹介 します。 (1)OutOfMemoryError が出た時のアプローチ OutOfMemoryError はメモリの使用量がヒープメモリサイ ズの指定を超えると発生します。 OutOfMemoryError に陥るケースは二つあります。 (A) 不要なオブジェクトが無駄にメモリに残っている場合 (B) ヒープサイズの絶対量が不足している場合 以下にそれぞれの対処を記し

    ashimon
    ashimon 2006/12/11
    Sun JavaVMのパラメータ設定例
  • Mathematical Infomation Technology

    次にオブジェクトが生成されたら Eden に領域を確保していき、次にいっぱいになったら Eden と Survivor0 から、参照されているオブジェクトを探して Survivor1 にコピー、それ以外を開放する。 このとき、Eden からコピーされたものは寿命1、Survivor0 からコピーされたものは寿命2 となる。 これを繰り返すと Survivor 領域に長寿のオブジェクトが溜まることになる。寿命が一定の値を超えたら Old 世代に移される。これを殿堂入り(Tenered)という。多くのオブジェクトは短命であるので、これまでで相当 の数が開放されるている。ここまでをマイナーコレクションという。 ただし、Survivor 領域にコピーするだけの空きがなければ寿命が一定数に達していなくても Old に移される。 マイナーコレクションが繰り返され、Old 世代がいっぱいになるとメジャー

  • 1