Hitachi

Hitachi Advanced Data Binder システム構築・運用ガイド


16.6.1 HADBサーバ開始時にメモリが不足した場合の対処方法

HADBサーバ開始時にKFAA40007-Eメッセージが出力された場合の対処方法を次に示します。対処方法は,サーバ定義adb_sys_memory_limitオペランドの指定の有無によって異なります。

〈この項の構成〉

(1) サーバ定義adb_sys_memory_limitオペランドを指定している場合

HADBサーバが使用するメモリが不足しています。サーバ定義のadb_sys_memory_limitオペランドの指定値を大きくしてください。対処手順を次に示します。

手順

  1. サーバ定義を変更する

    サーバ定義のadb_sys_memory_limitオペランドに,次に示す計算式で求めた値以上の値を指定してください。

    計算式(単位:メガバイト)

    [図データ]

    変数の説明

    get_sizeKFAA40007-Eメッセージの変数bb....bbの値(単位:バイト)

  2. HADBサーバを開始する

    adbstartコマンドを実行して,HADBサーバを開始してください。

メモ

サーバ定義のadb_sys_memory_limitオペランドについては,「7.2.2 性能に関するオペランド(set形式)」のadb_sys_memory_limitオペランドを参照してください。

(2) サーバ定義adb_sys_memory_limitオペランドを指定していない場合

KFAA40007-Eメッセージに出力された,不足しているメモリの種類を示す変数aa....aaを確認してください。aa....aaによって対策が異なります。

(a) aa....aaがPROCESSの場合

プロセス共通メモリが不足しています。サーバ定義のadb_sys_proc_area_maxオペランドの指定値を大きくしてください。対処手順を次に示します。

手順

  1. サーバ定義を変更する

    サーバ定義のadb_sys_proc_area_maxオペランドに,次に示す計算式で求めた値以上の値を指定してください。

    計算式(単位:メガバイト)

    [図データ]

    変数の説明

    max_sizeadb_sys_proc_area_maxオペランドの確保できるプロセス共通メモリの最大サイズに指定していた値(単位:メガバイト)

    get_sizeKFAA40007-Eメッセージの変数bb....bbの値(単位:バイト)

  2. HADBサーバを開始する

    adbstartコマンドを実行して,HADBサーバを開始してください。

メモ

サーバ定義のadb_sys_proc_area_maxオペランドについては,「7.2.2 性能に関するオペランド(set形式)」のadb_sys_proc_area_maxオペランドを参照してください。

(b) aa....aaがTHREADの場合

リアルスレッド固有メモリが不足しています。サーバ定義のadb_sys_rthd_area_maxオペランドの指定値を大きくしてください。対処手順を次に示します。

手順

  1. サーバ定義を変更する

    サーバ定義のadb_sys_rthd_area_maxオペランドに,次に示す計算式で求めた値以上の値を指定してください。

    計算式(単位:メガバイト)

    [図データ]

    変数の説明

    max_sizeadb_sys_rthd_area_maxオペランドの確保できるリアルスレッド固有メモリの最大サイズに指定していた値(単位:メガバイト)

    get_sizeKFAA40007-Eメッセージの変数bb....bbの値(単位:バイト)

  2. HADBサーバを開始する

    adbstartコマンドを実行して,HADBサーバを開始してください。

メモ

サーバ定義のadb_sys_rthd_area_maxオペランドについては,「7.2.2 性能に関するオペランド(set形式)」のadb_sys_rthd_area_maxオペランドを参照してください。

(c) aa....aaがHEAPの場合

ヒープメモリが不足しています。対処手順を次に示します。

手順

  1. 不要なプロセスがないかどうかを確認してください。不要なプロセスがある場合は,そのプロセスを終了または削除してください。そのあとに,adbstartコマンドを実行して,HADBサーバを開始してください。

  2. 手順1.を実施してもメモリが不足する場合は,次の対処をしてください。

    • OSを再起動する

    • adbstartコマンドを実行して,HADBサーバを開始する

  3. 手順2.を実施してもメモリが不足する場合は,次の対処をしてください。

    • カーネルパラメタの設定を変更し,プロセスで使用できるメモリの上限を大きくする

    • OSを再起動する

    • adbstartコマンドを実行して,HADBサーバを開始する

(d) aa....aaがSHAREの場合

共有メモリが不足しています。対処手順を次に示します。

手順

  1. 不要なプロセス,および不要な共有メモリがないかどうかを確認してください。不要なプロセスがある場合は終了してください。不要な共有メモリがある場合は削除してください。そのあとに,adbstartコマンドを実行して,HADBサーバを開始してください。

  2. 手順1.を実施しても共有メモリが不足する場合は,次の対処をしてください。

    • OSを再起動する

    • adbstartコマンドを実行して,HADBサーバを開始する

  3. 手順2.を実施しても共有メモリが不足する場合は,次の対処をしてください。

    • カーネルパラメタの設定を変更し,共有メモリの上限を大きくする

      また,HADBサーバの共有メモリにHugePagesを適用している場合,カーネルパラメタがHugePagesを使用できる設定になっていることを確認してください。詳細については,「6.2 カーネルパラメタの見積もり」を参照してください。

    • OSを再起動する

    • adbstartコマンドを実行して,HADBサーバを開始する