UNIFY が使用する共有メモリのセグメントサイズは次の設定値により制御されます。
A. カーネルの SHMMIN
-- 設定値は1を推奨。
B. DataServer,Unify2000 の SHMMIN
C. DataServer,Unify2000 の SHMMAX
D. カーネルの SHMMAX
A <= B <= X <= C <= D
ここで X は実際に割り当てられるサイズを示し、shmmap -s の実行で確認できます。下記の例では、1048576
です。
なお、4321392 は MAXCHACHE に従って確保した共有メモリ(データベースキャッシュ)のサイズを示します。
$
shmmap -s ----- Shared Memory Segment Information
----- ----id---shmid- --key--- -hexkey- --address-
--size-- locking -mode--users- ShmemMgr: 102 996115
0x0f3313 0xf6b08000 1048576 mem 000664 5 CacheMgr:
404 PRIVATE 0xf66e8000 4321392 mem 000664 4 ----id---shmid-
--key--- -hexkey- --address- --size-- locking -mode--users-
<備考>
例えば SHMMAX=3072k と設定されていても、カーネルのSHMMAXが1024kと設定されている場合には実際には1024kしか割り当てられません。カーネル設定を現在のままにして、LMSHMKEY
と FMSHMKEY を別途設定する方法もあります。
SHMKEY=886 / LMSHMKEY=887 / FMSHMKEY=888 SHMKEY のみの設定の場合は、UNIFYの使用する共有メモリ合計は1024kですが、上の2つの
KEY を新たに設定することにより1024k * 3 = 3072k となります。
|