付録C メモリ使用量の測定方法

ここでは,1リクエストのメモリ使用量を測定する方法について説明します。

<この節の構成>
(1) EUR Form Serviceの設定
(2) サーバの環境設定
(3) メモリ使用量の取得
(4) メモリ使用量の算出例

(1) EUR Form Serviceの設定

EUR Form Serviceの環境設定ファイルのEfdBufferSizeキーで,帳票ファイルのサイズを設定してください。EfdBufferSizeキーの設定については,マニュアル「電子フォームシステム EUR Form uCosminexus EUR Form システム設計・管理」を参照してください。

(2) サーバの環境設定

J2EEサーバおよびCosminexus HTTP Serverを起動する前に,次の設定および確認をしてください。

(3) メモリ使用量の取得

GC(ガーベージコレクション)の発生時のログファイルを出力し,リクエスト入力前と入力後のメモリ使用量の増分値を計算します。メモリ使用量の取得手順を示します。

取得手順

  1. J2EEサーバ,Webサーバなどを起動し,Web帳票アプリケーションが実行できる状態にします。
  2. 次に示すコマンド(javagc)を実行して,GC発生前後のメモリ使用量をログファイルに出力します。
    コマンドの実行を契機に,FullGCが発生します。

    %COSMINEXUS_HOME%¥jdk¥jre¥bin¥javagc.exe -p <cjstartsvのプロセスID>

    javagcコマンドについては,マニュアル「Cosminexus V9 アプリケーションサーバ リファレンス コマンド編」を参照してください。
  3. クライアントからリクエストを入力し,業務処理を実行します。
  4. 手順2.と同じコマンドを実行して,GC発生前後のメモリ使用量をログファイルに出力します。
  5. ログファイルからメモリ使用量を取得します。
    更新日時が新しいログファイルをテキストエディタなどで開いてください。ログファイルのパスを示します。
    <Cosminexusのインストールディレクトリ>¥CC¥server¥public¥ejb¥<サーバ名>¥logs¥javalogXX.log
    注※ XXは01から始まる2けたの通番です。
  6. 取得したメモリ使用量を基に,メモリ使用量の増分を計算します。
  7. メモリ使用量の測定が完了したら,追加した値を削除し,設定情報を配布します。

(4) メモリ使用量の算出例

次に示すログファイルの例を基に,メモリ使用量の算出方法について説明します。

図C-1 リクエスト入力前と入力後のログファイル

[図データ]

この例では,リクエスト入力前のメモリ使用量(GC発生後)は30,774KBで,リクエスト入力後(GC発生前)のメモリ使用量は118,985KBです。リクエスト入力前と入力後の増分を計算すると次のようになります。

118,985-30,774=88,211(単位はKB)

計算の結果,1リクエスト当たりのメモリ使用量は88,211KBとなります。

メモリの管理の詳細については,マニュアル「Cosminexus V9 アプリケーションサーバ システム設計ガイド」のJavaVMのチューニングを参考にして検討してください。