[pgsql-jp: 30956] Re: TL8 AMD64で共有メモリに上限?

Tatsuo Ishii t-ishii @ sra.co.jp
2003年 9月 6日 (土) 12:48:03 JST


石井です.

> DBサーバを、Opteronに置き換えようと考えて、テストしているのですが、
> なぜかshared_buffersを911より大きくできません。
> 912以上に設定すると、
> 
> IpcSemaphoreCreate: semget(key=5432129, num=17, 03600) failed: No space 
> left on device
> 
> とエラーが出てしまいます。

Opteronが手元にないので推測ですが,素の7.3.4ではspin lockでセマフォを
使うようになっているので,そのせいかもしれません.試しに,

src/include/storage/s_lock.hの97行め辺り:

#if defined(__i386__)

を

#if defined(__i386__) || defined(__x86_64__) /* AMD Opteron */

に置き換えてみてはいかがでしょう?うまくいけば性能もだいぶ向上するはず
です.ちなみに,マクロの置き換えになるので,念のためにmake distcleanす
るか,ソースをtar ballから展開し直した方がよいかもしれません.

あとは,開発中の7.4のsnapshotを試してみる手もあります.7.4ではすでに上
のパッチがあたっています.
--
Tatsuo Ishii



pgsql-jp メーリングリストの案内