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