[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 メーリングリストの案内