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

Tatsuo Ishii t-ishii @ sra.co.jp
2003年 9月 6日 (土) 13:01:22 JST


石井です.

> 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ではすでに上
> のパッチがあたっています.

書き忘れましたが,64ビットモードでコンパイルするために,
gccに「-m64」というコンパイルフラグを渡す必要があります.また,このフラグを
付けずにコンパイルしたPostgreSQLで作ったDBクラスタは使えないので,
initdbが必要になります.
--
Tatsuo Ishii



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