Question & Answer
Question
Db2 診断ログ (db2diag.log) に、db2ipccm からの DIA8561C A invalid memory block was encountered がいくつも記録されます。 原因と対処方法を教えてください。
Cause
DB2 9.x AIX 版で、ローカル接続を行うと、DB2 診断ログ (db2diag.log) に以下のようなエラーが記録されることがあります。
このエラーは、共有メモリーのページサイズを shmctl で 64KB に設定しようとしたところ EINVAL で失敗したことを示します。
AIX オペレーティング・システムの仕様により、拡張共有メモリー (EXTSHM) が有効な状態で作成された共有メモリーは複数ページ・サイズをサポートしないため、EINVAL が返ります。
DB2 は複数ページ・サイズ・サポートが有効な AIX システムでは、パフォーマンス上の理由で共有メモリーにミディアム・ページ・サイズを使おうとします。
このエラーが記録されている場合、DB2 はミディアム・ページ・サイズの共有メモリーを使えず、メモリー・アクセスのコストがあがるため、若干パフォーマンスが低下する可能性があります。
DB2 インスタンスが使用している共有メモリーのページサイズを確認するには、root ユーザーでログインし、svmon -P <db2sysc のプロセス ID> を実行します。PSize 列が s なら 4K ページ、m なら 64K ページが使われています。共有メモリーの判別方法や svmon の実行例は、以下の Technote を参照してください。
[DB2 LUW] DB2 のメモリー管理 - 1.概要
- 2012-12-06-10.00.14.177861+540 I3995099A630 LEVEL: Error (OS)
PID : 1970324 TID : 1286 PROC : db2sysc
INSTANCE: db2inst1 NODE : 000
EDUID : 1286 EDUNAME: db2ipccm
FUNCTION: DB2 UDB, SQO Memory Management, sqloMemSetPageSize, probe:100
MESSAGE : ZRC=0x820F0002=-2112946174=SQLO_INV_MEM "Invalid memory addr"
DIA8561C A invalid memory block was encountered.
CALLED : OS, -, shmctl
OSERR : EINVAL (22) "Invalid argument"
DATA #1 : String, 44 bytes
Failure enabling specified memory page size.
DATA #2 : Logical page size, PD_TYPE_MEM_PAGE_SIZE, 8 bytes
65536 (=64KB)
このエラーは、共有メモリーのページサイズを shmctl で 64KB に設定しようとしたところ EINVAL で失敗したことを示します。
AIX オペレーティング・システムの仕様により、拡張共有メモリー (EXTSHM) が有効な状態で作成された共有メモリーは複数ページ・サイズをサポートしないため、EINVAL が返ります。
DB2 は複数ページ・サイズ・サポートが有効な AIX システムでは、パフォーマンス上の理由で共有メモリーにミディアム・ページ・サイズを使おうとします。
このエラーが記録されている場合、DB2 はミディアム・ページ・サイズの共有メモリーを使えず、メモリー・アクセスのコストがあがるため、若干パフォーマンスが低下する可能性があります。
DB2 インスタンスが使用している共有メモリーのページサイズを確認するには、root ユーザーでログインし、svmon -P <db2sysc のプロセス ID> を実行します。PSize 列が s なら 4K ページ、m なら 64K ページが使われています。共有メモリーの判別方法や svmon の実行例は、以下の Technote を参照してください。
[DB2 LUW] DB2 のメモリー管理 - 1.概要
Answer
メッセージの記録を抑制したい場合、以下のいずれかの方法で設定を変更してください。
ただし、IPC コミュニケーション・マネージャー (db2ipccm) からのエラー・メッセージは、IZ53577 (V9.5 FP7)、IC75472 (V9.7 FP4) で抑制されています。修正が有効なフィックスパックではメッセージは記録されませんが、拡張共有メモリーが設定されているなら、やはりミディアム・ページは使用できていません。
ミディアム・ページを使用する場合は b) の設定を行う必要があります。
a) Db2 のミディアム・ページ・サポートを無効にする
Db2 のミディアム・ページ・サポートを無効にし、shmctl の発行自体を抑制します。
現在エラーが記録されている場合、すでにミディアム・ページは使用できていないため、設定変更によるパフォーマンス低下はありません。
1. インスタンス・オーナーでログインし、レジストリー変数 DB2_MEDIUM_PAGE_SUPPORT=OFF を設定します。
2. 設定を反映させるため、インスタンスを再起動します。
b) 拡張共有メモリーの使用を停止する
Db2 インスタンスが環境変数 EXTSHM を読み込む設定になっているため、これを解除します。
1. インスタンス・オーナーでログインし、環境変数 EXTSHM を除去します。
.profile や db2profile で設定されている場合は、その設定を削除します。
2. レジストリー変数 DB2ENVLIST から EXTSHM を削除します。
DB2ENVLIST に EXTSHM 以外の変数があれば、それらは残します。
拡張共有メモリーは、一つの 32 ビット・アプリケーション・プロセスから同時に多数のローカル接続を行う場合に設定されます。
そのような要件がある場合、TCP/IP ループバックに接続設定を変更することを検討してください。
SAMPLE データベースを TCP/IP ループバック・カタログする例
運用上の考慮点
全く同じ原因で、インスタンス起動時に db2star2 から、データベース活動化時に db2agent から同様のエラーが記録されます。
しかし、通常の運用では、このメッセージは頻繁に記録されないため、メッセージを抑制する APAR は作成されていません。
a) インスタンス起動時 (db2star2)
関連情報
パスポート・アドバンテージによく寄せられる質問
IC75472 THE DB2DIAG.LOG IS FILLING WITH INVALID MEMORY ADDR ERROR MESSAGES. WHEN EXTSHM = ON AND USING MEDIUM PAGE SIZE.
お問合せ先
技術的な内容に関して、パスポート・アドバンテージの契約のもと Db2 テクニカル・サポートへお問い合わせください。
Db2 テクニカル・サポート
ただし、IPC コミュニケーション・マネージャー (db2ipccm) からのエラー・メッセージは、IZ53577 (V9.5 FP7)、IC75472 (V9.7 FP4) で抑制されています。修正が有効なフィックスパックではメッセージは記録されませんが、拡張共有メモリーが設定されているなら、やはりミディアム・ページは使用できていません。
ミディアム・ページを使用する場合は b) の設定を行う必要があります。
a) Db2 のミディアム・ページ・サポートを無効にする
Db2 のミディアム・ページ・サポートを無効にし、shmctl の発行自体を抑制します。
現在エラーが記録されている場合、すでにミディアム・ページは使用できていないため、設定変更によるパフォーマンス低下はありません。
1. インスタンス・オーナーでログインし、レジストリー変数 DB2_MEDIUM_PAGE_SUPPORT=OFF を設定します。
- db2set DB2_MEDIUM_PAGE_SUPPORT=OFF
2. 設定を反映させるため、インスタンスを再起動します。
- db2stop
db2start
b) 拡張共有メモリーの使用を停止する
Db2 インスタンスが環境変数 EXTSHM を読み込む設定になっているため、これを解除します。
1. インスタンス・オーナーでログインし、環境変数 EXTSHM を除去します。
.profile や db2profile で設定されている場合は、その設定を削除します。
- export EXTSHM=
2. レジストリー変数 DB2ENVLIST から EXTSHM を削除します。
DB2ENVLIST に EXTSHM 以外の変数があれば、それらは残します。
- db2set DB2ENVLIST=
db2stop
db2start
拡張共有メモリーは、一つの 32 ビット・アプリケーション・プロセスから同時に多数のローカル接続を行う場合に設定されます。
そのような要件がある場合、TCP/IP ループバックに接続設定を変更することを検討してください。
SAMPLE データベースを TCP/IP ループバック・カタログする例
- db2 catalog tcpip node loopnode remote localhost server db2c_db2inst1
db2 catalog db sample as sampler at node loopnode
運用上の考慮点
全く同じ原因で、インスタンス起動時に db2star2 から、データベース活動化時に db2agent から同様のエラーが記録されます。
しかし、通常の運用では、このメッセージは頻繁に記録されないため、メッセージを抑制する APAR は作成されていません。
a) インスタンス起動時 (db2star2)
- 2012-12-24-05.33.09.398456+540 I28945A594 LEVEL: Error (OS)
PID : 329344 TID : 1 PROC : db2star2
INSTANCE: db2inst1 NODE : 000
EDUID : 1
FUNCTION: DB2 UDB, SQO Memory Management, sqloMemSetPageSize, probe:100
MESSAGE : ZRC=0x820F0002=-2112946174=SQLO_INV_MEM "Invalid memory addr"
DIA8561C A invalid memory block was encountered.
CALLED : OS, -, shmctl
OSERR : EINVAL (22) "Invalid argument"
DATA #1 : String, 44 bytes
Failure enabling specified memory page size.
DATA #2 : Logical page size, PD_TYPE_MEM_PAGE_SIZE, 8 bytes
65536
- 2012-05-08-04.24.01.278696+540 I9633127A749 LEVEL: Error (OS)
PID : 34340950 TID : 3086 PROC : db2sysc
INSTANCE: db2inst1 NODE : 000 DB : SAMPLE
APPHDL : 0-34 APPID: *LOCAL.db2inst1.120508042401
AUTHID : DB2INST1
EDUID : 3086 EDUNAME: db2agent (SAMPLE)
FUNCTION: DB2 UDB, SQO Memory Management, sqloMemSetPageSize, probe:100
MESSAGE : ZRC=0x820F0002=-2112946174=SQLO_INV_MEM "Invalid memory addr"
DIA8561C A invalid memory block was encountered.
CALLED : OS, -, shmctl
OSERR : EINVAL (22) "Invalid argument"
DATA #1 : String, 44 bytes
Failure enabling specified memory page size.
DATA #2 : Logical page size, PD_TYPE_MEM_PAGE_SIZE, 8 bytes
65536
関連情報
パスポート・アドバンテージによく寄せられる質問
IC75472 THE DB2DIAG.LOG IS FILLING WITH INVALID MEMORY ADDR ERROR MESSAGES. WHEN EXTSHM = ON AND USING MEDIUM PAGE SIZE.
お問合せ先
技術的な内容に関して、パスポート・アドバンテージの契約のもと Db2 テクニカル・サポートへお問い合わせください。
Db2 テクニカル・サポート
[{"Product":{"code":"SSEPGG","label":"Db2 for Linux, UNIX and Windows"},"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Component":"OTHER - Uncategorised","Platform":[{"code":"PF002","label":"AIX"}],"Version":"9.7;9.5;9.1","Edition":"","Line of Business":{"code":"LOB10","label":"Data and AI"}}]
Was this topic helpful?
Document Information
Modified date:
31 August 2023
UID
swg21625201