Re: 7.4.3 initdb: could not create semaphores - Mailing list pgsql-admin

From Corey.Brune@transplace.com
Subject Re: 7.4.3 initdb: could not create semaphores
Date
Msg-id OFD91F491D.ABA1635A-ON86256EC5.004AD07B@transplace.com
Whole thread Raw
In response to 7.4.3 initdb: could not create semaphores  (teknet@poczta.onet.pl)
Responses Re: 7.4.3 initdb: could not create semaphores
List pgsql-admin
A really good email from Cheryl Bender near a month ago:

Michael;

What version of FreeBSD?  What version of PostGres?
On my server, running FreeBSD 5.1 and pg 7.3, the values are

kern.ipc.shmmax: 33554432
kern.ipc.shmmin: 1
kern.ipc.shmmni: 192
kern.ipc.shmseg: 128
kern.ipc.shmall: 8192
kern.ipc.shm_use_phys: 0
shm    30    35K     38K     4653  16,1024,16384

I found this script (
http://developer.postgresql.org/docs/pgsql/contrib/ipc_check/ ) for
freebsd that checks if changes are needed to shared memory settings for
the number of Buffers requested.  The postmaster man page says the
default buffers are 64, so I ran it with the -B 64 switch and it gave me
the following output

--------------
Bash2.05b$./ipc_check -B 64

shared memory enabled: 32768 kB available

no changes to kernel required for a "-B 64" setting

==========================

semaphores enabled
------------------

Hopefully someone with a lot more experience than me will answer soon
with a better answer, but maybe this will get you started.   Good luck!

Cheryl

-----Original Message-----
From: pgsql-admin-owner@postgresql.org
[mailto:pgsql-admin-owner@postgresql.org] On Behalf Of Michael Fork
Sent: Friday, June 11, 2004 6:24 PM
To: pgsql-admin@postgresql.org
Subject: [ADMIN] FreeBSD & Shared Memory


All,

I am trying to get Postgres running on FreeBSD and am
running into problems
with shared mem.  Here is the postgres error messge:

FATAL:  could not create shared memory segment: Cannot
allocate memory
DETAIL:  Failed system call was shgmet(key=5432001, size=103407616,
03600).
HINT:  This error usually means that PostgreSQL's
request for a shared
memory segment exceeded available memory or swap
space.
To reduce the request size (currently 103407616
bytes), reduce PostgreSQL's
shared_buffers parameter (currently 12288) and/or its max_connections
parameter (cureently 40). The PostgreSQL documentation contains more
information about shared memory configuration.

Here is the output of sysctl (which shows there is
more shared mem available
than postgres is asking for):

bash-2.05b$ sysctl -a | grep shm
kern.ipc.shmmax: 200000000
kern.ipc.shmmin: 1
kern.ipc.shmmni: 192
kern.ipc.shmseg: 128
kern.ipc.shmall: 8192
kern.ipc.shm_use_phys: 0

and finally the IPC stats which shows nothing being
used:

Message Queues:
T     ID     KEY        MODE       OWNER    GROUP

Shared Memory:
T     ID     KEY        MODE       OWNER    GROUP

Semaphores:
T     ID     KEY        MODE       OWNER    GROUP

Any ideas why postgres won't start?

Thanks.

Michael





                      teknet@poczta.onet.pl
                      Sent by:                     To:       pgsql-admin@postgresql.org
                      pgsql-admin-owner@pos        cc:
                      tgresql.org                  Subject:  [ADMIN] 7.4.3 initdb: could not create semaphores


                      07/02/2004 08:20 AM






Hello
I have FreeBSD5.1, postgresql 7.4.3, when i tried to:
initdb -D /usr/local/pgsql/data
i receive:
......
selecting default max_connections... 10
selecting default shared_buffers... 50
creating configuration files... ok
creating template1 database in /usr/local/pgsql/data//base/1... FATAL:
could not create semaphores: No space left on device
DETAIL:  Failed system call was semget(1, 17, 03600).
HINT:  This error does *not* mean that you have run out of disk space.
        It occurs when either the system limit for the maximum number of
semaphore sets (SEMMNI), or the system wide maximum number of semaphores
(SEMMNS), would be exceeded.  You need to raise the respective kernel
parameter.  Alternatively, reduce PostgreSQL's consumption of semaphores by
reducing its max_connections parameter (currently 10).
        The PostgreSQL documentation contains more information about
configuring your system for PostgreSQL.
initdb: failed
initdb: removing data directory "/usr/local/pgsql/data/"
When i tried to edit in /usr/local/share/postgres/postgresql.conf
and set max_connection = 8 nothing changed, initdb again used:
selecting default max_connections... 10
Why ?
How can i sovle this problem ?

Thanx
Michal





pgsql-admin by date:

Previous
From: teknet@poczta.onet.pl
Date:
Subject: 7.4.3 initdb: could not create semaphores
Next
From: teknet@poczta.onet.pl
Date:
Subject: Re: 7.4.3 initdb: could not create semaphores