はじめに
現在のWebシステム開発・
第2回は,
GCの基本的なしくみと問題点
GCとは,
Java VMのメモリ領域
Java VMのヒープ領域は,
Javaヒープはさらに,
速いCopy GCと遅いFull GC
JavaヒープがNew領域とOld領域の2つの世代でメモリ管理するのに伴って,
Copy GCはNew領域を対象に使用済みのインスタンスをすべて削除する処理で,
一方のFull GCはJava ヒープ全体を対象とし,
Java VM ベースのシステムでパフォーマンス低下を回避するには,
アプリの変更なしにパフォーマンスを改善可能
既存のJava VM システムではFull GC の抑制が難しく,
そのためCosminexus では,
この方式では,
日立が試算した例では,
表1 Copy GC時間増によるスループットの試算例
測定単位時間 | 10:00~15:45 |
---|---|
平均Copy GC時間 | 0. |
処理件数 | 1548,819件 → 545,486件 ↓ 処理性能への影響1%未満 |
開発者の立場からすると,
誤った領域削除時にも堅牢性を確保
このようにJava ヒープ内に滞留するセッションオブジェクトはE ヒープ領域へ自動的に移動されますが,
CosminexusのEヒープ方式は,