Subject: Re: Kernel Config - SHMMAXPGS
To: Ian Harding <ianh@tpchd.org>
From: Ian Harding <ianh@tpchd.org>
List: port-i386
Date: 02/04/2004 11:29:02
Thanks for the reply!  I have _obviously_ done something wrong in =
compiling the new kernel.  Here is the output of ipcs -M
bash-2.05b# ipcs -M
shminfo:
        shmmax: 8388608 (max shared memory segment size)
        shmmin:       1 (min shared memory segment size)
        shmmni:     128 (max number of shared memory identifiers)
        shmseg:     128 (max shared memory segments per process)
        shmall:    2048 (max amount of shared memory in pages)

On the 1.5.2 machine, the "shmall" entry is the number of pages I have =
configured as SHMMAXPGS.

It's just not that hard to compile a kernel!  I thought I followed the =
directions in the FAQ, I must be slipping.

I will start over from scratch.

Thanks!

<<< Patrick Welche <prlw1@newn.cam.ac.uk>  2/ 4  6:16a >>>
On Mon, Feb 02, 2004 at 12:34:50PM -0800, Ian Harding wrote:
> I have compiled a kernel having made the following changes to my=20
> configuration
>=20
> < #options      SEMMNI=3D10       # number of semaphore identifiers
> < #options      SEMMNS=3D60       # number of semaphores in system
> < #options      SEMUME=3D10       # max number of undo entries per =
process
> < #options      SEMMNU=3D30       # number of undo structures in system
> ---
> > options       SEMMNI=3D256      # number of semaphore identifiers
> > options       SEMMNS=3D512      # number of semaphores in system
> > options       SEMUME=3D40       # max number of undo entries per =
process
> > options       SEMMNU=3D256      # number of undo structures in system
> 80c80
> < #options      SHMMAXPGS=3D1024  # 1024 pages is the default
> ---
> > options       SHMMAXPGS=3D16192 # 1024 pages is the default

I think you are fine:

Just for reference my configuration says:

options     SHMMAXPGS=3D32768 # 2048 pages is the default
# PostgreSQL notes:
#options    SHMMAXPGS=3D8192  # (2048) 512 kB + 8192 * buffers + extra
#options    SEMMNI=3D64   # (10) >=3D ceil(max_connections / 16)
#options    SEMMNS=3D256  # (60) ceil(max_connections / 16) * 17 + extra

(on i386, 1 page =3D 4k)

You have 1000 buffers, 16 connections, so
512 kB + 8k * 1000 buffers =3D 8512kB =3D 2128 pages < 16192 pages as =
configured.

> IpcMemoryCreate: shmget(key=3D5432001, size=3D10035200, 03600) failed:=20=

and size < 16192*4k

So, could it be that your pages are still in use? eg., if you switch off
the postmaster, does
	ipcs -a
still show you entries for postgres? (ipcrm lets you clear them)

Cheers,

Patrick

                       =20