[pgsql-jp: 35036] Re: SMP と共有メモリ
koyama
mlus @ hintmark.com
2005年 3月 14日 (月) 18:18:49 JST
k7-koyama です。
伊藤 さん、水野さん ご返答ありがとうございます。
> sysctl.conf に設定したshmallおよび、shmmaxの指定単位が
> ページという事ではないでしょうか。
> 1ページが4Kbyte。
> ipcs で表示させたときは、kbytesとなっているので、
> 134217728ページ×4Kbyte = 536870912 Kbytes
kernel のソースの shm.h を覗いてみました。
#define SHMMAX 0X2000000 /* max shared seg size (byte)*/
#define SHMMIN 1 /* min shared seg size (byte)*/
#define SHMMNI 4096 /* max num of segs system wide*/
#define SHMALL (SHMMAX/PAGE_SIZE*(SHMMNI/16)) 折り返します
/* max shm system wide(pages)*/
#define SHMSEG SHMMNI /* max shared segs per process*/
となっていました。
という事は、
kernel.shmmax= 536870912
1ページ4kbとして
kernel.shmall= 536870912/4000*(4096/16)
= 34359738.37 と指定すべきなのでしょうか?
この1ページのサイズを調べたいのですが、どこを見れば良いでしょうか?
pgsql-jp メーリングリストの案内