[pgsql-jp: 33600] Re: select文でセグメンテーション違反

Hitoshi Taniguchi taniguchi @ chihaya-t3.co.jp
2004年 7月 9日 (金) 22:49:12 JST


谷口です。

ipcs -m -lで表示される
max total shared memory (kbytes)
の値の件ですが、正確に分かりましたので報告しておきます。

RedHatによると、ソースで確認した結果、以下になるようです。
getpagesize()*((unsigned long) shminfo.shmall/1024UL))
IA32の場合、デフォルトのページサイズは、4KBであるので
/proc/sys/kernel/shmallが2097152であれば、8388608になります。

ありがとうございました。


> 清水です
--- 削除 ---
> > ipcs -m -l で確認すると以下となっています。
> > ---シェアードメモリの制限---
> > セグメント数の最大値 = 4096
> > セグメントサイズの最大(単位:KB) = 2097152
> > max total shared memory (kbytes) = 0    <= なぜ0なのか不明だが、ここだ
け英
> > 語表示?
> > 最小セグメントサイズ(単位:KB) = 1
>
> TurboLinux Server 8 でも同様に kernel.shmall = kernel.shmmax で
> 設定したら同様に max total shared memory 表示が 0 になりました。
> そのときは、共有メモリのサイズを小さくして再度確認すると、
> 下記の計算式のようになりました。
>
> max total shared memory = kernel.shmall * kernel.shmmni
>
> おそらくkernel.shmallの値が大きすぎてオーバフローしているため
> max total shared memory の値が 0 になっているものと思われます。
> これで正しいか自信がないのでRedHatに確認したほうがいいかもしれません。
>
> -- 
> 清水 昭博 <gen @ hek.co.jp>





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