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: