[pgsql-jp: 30978] Re: TL8 AMD64で共有メモリに上限?
Tatsuo Ishii
t-ishii @ sra.co.jp
2003年 9月 7日 (日) 07:57:26 JST
石井です.
> 根岸です。
>
> shared_ buffers = 911
>
> cat /proc/sys/kernel/shmmni
> 4096
失礼.見たいのは ipcs -l -sの結果でした.
ところで,
> ipcs -s
> ------ セマフォ配列 --------
> キー semid 所有者 権限 nsems 状態
> 0x0052e2c1 107413504 postgres 600 17
> 0x0052e2c2 107446273 postgres 600 17
> (以下126行略 すべて所有者=postgres)
え,max_connectionsは200なんですよね?それで126行というのはおかしいで
すね.それだとmax_connections=2048を設定していることになっていまいます.
もちろんpostmatserを立ち上げる前はpostgresのセマフォは登録されていなかっ
たのですよね?
> 32bit版のTurbolinux 8 Serverで同じことをしてみると。
> ipcs -sの結果は、見出し行を除くと13行しかありません。
max_connections=200ならそれで正解です.
> 確保されるセマフォの数はどこで決まるんでしょうか?
max_connectionsのみで決まります.shared_buffersは関係ないはずです.
(PostgreSQLのマニュアルの kernel-resources.html に詳しく書かれていま
す).
明らかにTLD AMD64上のPostgreSQLは異常な動作をしていますね.32bitモード
でコンパイルしたPostgreSQLでも動作がおかしいということは,TLD AMD64に
問題があるような気がします.残念ながらここから先はデバッガでも使わない
とちょっとわからないですね.
--
Tatsuo Ishii
pgsql-jp メーリングリストの案内