5.3.1 J2EEサーバが使用する仮想メモリの使用量の見積もり
ここでは,仮想メモリの使用量の見積もり方法について説明します。なお,仮想メモリの使用量の計算式に使用しているJavaVM起動時のオプションの詳細については,「7.2.6 SerialGC使用時のJavaVMで使用するメモリ空間の構成とJavaVMオプション」を参照してください。
また,ここで説明する内容のほか,明示管理ヒープ機能で使用するメモリサイズの見積もりが必要です。明示管理ヒープ機能で使用するメモリサイズの見積もりについては,「7.11 Explicitヒープのチューニング」を参照してください。
(1) 仮想メモリの使用量の計算式
仮想メモリの使用量(単位:メガバイト)の計算式を次に示します。
J2EEサーバの仮想メモリの使用量 = A+B+C+(D+22)×E+F+G
(凡例)
-
A:Javaヒープサイズ
初期値は,JavaVM起動時のオプション-Xmsに指定した値です。この値は,J2EEサーバ起動中に,最大でJavaVM起動時のオプション-Xmxに指定した値まで拡張されます。なお,ZGCを使用する場合は,仮想メモリを多く必要とします。ZGCを使用する場合は,この値は-Xmxに指定した値の48倍としてください。これは物理メモリの実際の使用サイズには影響しません。詳細については「7.20 ZGC使用時の注意事項(JDK17以降の場合)」を参照してください。
-
B:Metaspace領域サイズ
初期値は,JavaVMが割り当てた値です。この値は,J2EEサーバ起動中に,最大でJavaVM起動時のオプション-XX:MaxMetaspaceSizeに指定した値まで拡張されます。
- 監査ログを使用する場合
-
監査ログを使用する場合は,値に1メガバイトを加えてください。
-
C:ネイティブプログラム使用領域サイズ
OSごとに使用する値が異なります。ネイティブプログラム使用領域サイズのOSごとの値について,次の表に示します。
表5‒14 ネイティブプログラム使用領域サイズの値一覧 OS種別
使用領域の値
(単位:メガバイト)
Windows
700
Linux
600
- 監査ログを使用する場合
-
監査ログを使用する場合は,OSごとのネイティブプログラム使用領域サイズの値に,監査ログで使用する値を加える必要があります。監査ログで使用する値を算出するには,auditlog.raslog.message.filesizeキー,およびauditlog.raslog.exception.filesizeキーを使用します。これらのキーは,auditlog.properties(監査ログ定義ファイル)で指定するキーです。これらのキーの詳細については,マニュアル「アプリケーションサーバ リファレンス 定義編(サーバ定義)」の「11.2.1 監査ログ定義ファイル」を参照してください。
監査ログで使用する値(単位:メガバイト)の計算式を次に示します。
監査ログで使用する値 =
8+(auditlog.raslog.message.filesizeの指定値 / 1,0242)※+(auditlog.raslog.exception.filesizeの指定値 / 1,0242)※
注※ 指定値の単位はバイトです。仮想メモリの使用量の値の単位はメガバイトであるため,1,0242で割る必要があります。
-
D:J2EEサーバのスレッド数
J2EEサーバが使用するスレッド数です。J2EEサーバが使用するスレッド数については,「5.2.1 J2EEサーバが使用するリソースの見積もり」を参照してください。
-
E:スタック領域サイズ
JavaVM起動時のオプション-Xssに指定した値です。
-
F:Explicitヒープサイズ
明示管理ヒープ機能で使用されるExplicitヒープのサイズです。この値は,J2EEサーバ起動中に最大で-XX:HitachiExplicitHeapMaxSizeに指定した値まで拡張されます。
-
G:コードキャッシュ領域の最大サイズ
JavaVM起動時のオプション-XX:ReservedCodeCacheSizeに指定した値です。
(2) 仮想メモリの使用量を計算する場合の注意事項
-
ネイティブプログラム使用領域サイズの値は変動します。値が変動するのは次のような場合です。
-
ORBのトレースサイズを変更した場合
-
JDBCドライバの使用領域サイズの値を変更した場合
-
使用する製品のネイティブライブラリ使用領域サイズの値を変更した場合
このような場合,製品ごとのメモリ使用量をネイティブプログラム使用領域サイズの値に加えてください。製品ごとのメモリ使用量は,使用する製品のドキュメントに従って算出してください。
-
-
J2EEサーバの標準構成で使用する仮想メモリの使用量は,使用するソフトウェア製品の影響で,見積もり値よりも大きくなる場合があります。その場合の増加分については,仮想メモリの使用量の値に加えてください。増加分のメモリ使用量は,使用するソフトウェア製品のドキュメントに従い,製品ごとのメモリ使用量を算出してください。
-
Linuxの場合,メモリのスワップファイルが不足すると,システムがスローダウンします。仮想メモリの上限値を,実メモリサイズ分指定することをお勧めします。