Increasing Max # of connections
Hi All,
I am using Postgresql 7.3.2 on Solaris 5.9 compiled with gcc and solaris
ld. Right now, our max number of connections and buffers are set to the
default, which is 32 for connections and 64 for buffers. I want to be able
to increase that to 100 Max connections and 200 max buffers, but when I do
that.. i get this:
IpcSemaphoreCreate: semget(key=5432004, num=17, 03600) failed: No space
left on device
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 100).
How do I increase the mentioned kernel values on solaris to be able to
increase the number of connections I need?
TIA,
Errol U. Neal
Errol Neal, Systems/Network Administrator
eneal@enhtech.com
Enhanced Technologies Inc.
http://www.enhtech.com
703-924-0301 or 800-368-3249
703-924-0302 Fax
On Wednesday, July 23, 2003, at 10:48 AM, Errol Neal wrote:
This error does *not* mean that you have run out of disk space.
Correct.
How do I increase the mentioned kernel values on solaris to be able to
increase the number of connections I need?
Check out the /etc/system file.
Read this:
http://www.postgresql.org/docs/7.3/static/kernel-resources.html
Solaris is listed at the bottom.
Cory 'G' Watson
http://www.loggerithim.org
At 11:48 AM 7/23/2003 -0400, Errol Neal wrote:
Hi All,
I am using Postgresql 7.3.2 on Solaris 5.9 compiled with gcc and solaris
ld. Right now, our max number of connections and buffers are set to the
default, which is 32 for connections and 64 for buffers. I want to be able
to increase that to 100 Max connections and 200 max buffers, but when I do
that.. i get this:IpcSemaphoreCreate: semget(key=5432004, num=17, 03600) failed: No space
left on deviceThis 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 100).How do I increase the mentioned kernel values on solaris to be able to
increase the number of connections I need?TIA,
Errol U. Neal
Errol Neal, Systems/Network Administrator
eneal@enhtech.com
Enhanced Technologies Inc.
http://www.enhtech.com
703-924-0301 or 800-368-3249
703-924-0302 Fax---------------------------(end of broadcast)---------------------------
TIP 7: don't forget to increase your free space map settings
Just in case some were wondering, here is the relative output of sysdef on
the system:
* Tunable Parameters
*
20799488 maximum memory allowed in buffer cache (bufhwm)
15882 maximum number of processes (v.v_proc)
99 maximum global priority in sys class (MAXCLSYSPRI)
15877 maximum processes per user id (v.v_maxup)
30 auto update time limit in seconds (NAUTOUP)
25 page stealing low water mark (GPGSLO)
5 fsflush run rate (FSFLUSHR)
25 minimum resident memory for avoiding deadlock (MINARMEM)
25 minimum swapable memory for avoiding deadlock (MINASMEM)
*
* Utsname Tunables
*
5.9 release (REL)
server17 node name (NODE)
SunOS system name (SYS)
Generic version (VER)
*
* Process Resource Limit Tunables (Current:Maximum)
*
0x0000000000000100:0x0000000000010000 file descriptors
*
* Streams Tunables
*
9 maximum number of pushes allowed (NSTRPUSH)
65536 maximum stream message size (STRMSGSZ)
1024 max size of ctl part of message (STRCTLSZ)
*
* IPC Messages module is not loaded
*
*
* IPC Semaphores
*
10 semaphore identifiers (SEMMNI)
60 semaphores in system (SEMMNS)
30 undo structures in system (SEMMNU)
25 max semaphores per id (SEMMSL)
10 max operations per semop call (SEMOPM)
10 max undo entries per process (SEMUME)
32767 semaphore maximum value (SEMVMX)
16384 adjust on exit max value (SEMAEM)
*
* IPC Shared Memory
*
8388608 max shared memory segment size (SHMMAX)
100 shared memory identifiers (SHMMNI)
*
* Time Sharing Scheduler Tunables
*
60 maximum time sharing user priority (TSMAXUPRI)
SYS system class name (SYS_NAME)
Everything is pretty much at the defaults
TIA (again)
Errol Neal
Errol Neal, Systems/Network Administrator
eneal@enhtech.com
Enhanced Technologies Inc.
http://www.enhtech.com
703-924-0301 or 800-368-3249
703-924-0302 Fax
the only way you can do this is to change your kernel parameters or use 32
connections and 64 buffers
On Wed, 23 Jul 2003, Errol Neal wrote:
Show quoted text
Hi All,
I am using Postgresql 7.3.2 on Solaris 5.9 compiled with gcc and solaris
ld. Right now, our max number of connections and buffers are set to the
default, which is 32 for connections and 64 for buffers. I want to be able
to increase that to 100 Max connections and 200 max buffers, but when I do
that.. i get this:IpcSemaphoreCreate: semget(key=5432004, num=17, 03600) failed: No space
left on deviceThis 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 100).How do I increase the mentioned kernel values on solaris to be able to
increase the number of connections I need?TIA,
Errol U. Neal
Errol Neal, Systems/Network Administrator
eneal@enhtech.com
Enhanced Technologies Inc.
http://www.enhtech.com
703-924-0301 or 800-368-3249
703-924-0302 Fax---------------------------(end of broadcast)---------------------------
TIP 7: don't forget to increase your free space map settings
At 12:05 PM 7/23/2003 -0400, you wrote:
At 11:48 AM 7/23/2003 -0400, Errol Neal wrote:
Hi All,
I am using Postgresql 7.3.2 on Solaris 5.9 compiled with gcc and solaris
ld. Right now, our max number of connections and buffers are set to the
default, which is 32 for connections and 64 for buffers. I want to be
able to increase that to 100 Max connections and 200 max buffers, but
when I do that.. i get this:IpcSemaphoreCreate: semget(key=5432004, num=17, 03600) failed: No space
left on deviceThis 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 100).How do I increase the mentioned kernel values on solaris to be able to
increase the number of connections I need?TIA,
Errol U. Neal
Errol Neal, Systems/Network Administrator
eneal@enhtech.com
Enhanced Technologies Inc.
http://www.enhtech.com
703-924-0301 or 800-368-3249
703-924-0302 Fax---------------------------(end of broadcast)---------------------------
TIP 7: don't forget to increase your free space map settingsJust in case some were wondering, here is the relative output of sysdef on
the system:* Tunable Parameters
*
20799488 maximum memory allowed in buffer cache (bufhwm)
15882 maximum number of processes (v.v_proc)
99 maximum global priority in sys class (MAXCLSYSPRI)
15877 maximum processes per user id (v.v_maxup)
30 auto update time limit in seconds (NAUTOUP)
25 page stealing low water mark (GPGSLO)
5 fsflush run rate (FSFLUSHR)
25 minimum resident memory for avoiding deadlock (MINARMEM)
25 minimum swapable memory for avoiding deadlock (MINASMEM)
*
* Utsname Tunables
*
5.9 release (REL)
server17 node name (NODE)
SunOS system name (SYS)
Generic version (VER)
*
* Process Resource Limit Tunables (Current:Maximum)
*
0x0000000000000100:0x0000000000010000 file descriptors
*
* Streams Tunables
*
9 maximum number of pushes allowed (NSTRPUSH)
65536 maximum stream message size (STRMSGSZ)
1024 max size of ctl part of message (STRCTLSZ)
*
* IPC Messages module is not loaded
*
*
* IPC Semaphores
*
10 semaphore identifiers (SEMMNI)
60 semaphores in system (SEMMNS)
30 undo structures in system (SEMMNU)
25 max semaphores per id (SEMMSL)
10 max operations per semop call (SEMOPM)
10 max undo entries per process (SEMUME)
32767 semaphore maximum value (SEMVMX)
16384 adjust on exit max value (SEMAEM)
*
* IPC Shared Memory
*
8388608 max shared memory segment size (SHMMAX)
100 shared memory identifiers (SHMMNI)
*
* Time Sharing Scheduler Tunables
*
60 maximum time sharing user priority (TSMAXUPRI)
SYS system class name (SYS_NAME)Everything is pretty much at the defaults
TIA (again)
Errol Neal
Errol Neal, Systems/Network Administrator
eneal@enhtech.com
Enhanced Technologies Inc.
http://www.enhtech.com703-924-0301 or 800-368-3249
703-924-0302 Fax---------------------------(end of broadcast)---------------------------
TIP 9: the planner will ignore your desire to choose an index scan if your
joining column's datatypes do not match
Okay, here is an update...
I modified the kernel params in /etc/system to this:
set shmsys:shminfo_shmmax=4294967295
set shmsys:shminfo_shmmin=1
set shmsys:shminfo_shmmni=100
set shmsys:shminfo_shmseg=10
set semsys:seminfo_semmni=100
set semsys:seminfo_semmsl=100
set semsys:seminfo_semmns=200
set semsys:seminfo_semopm=100
set semsys:seminfo_semvmx=32767
Here is the output from sysdef
* IPC Semaphores
*
100 semaphore identifiers (SEMMNI)
200 semaphores in system (SEMMNS)
30 undo structures in system (SEMMNU)
100 max semaphores per id (SEMMSL)
100 max operations per semop call (SEMOPM)
10 max undo entries per process (SEMUME)
32767 semaphore maximum value (SEMVMX)
16384 adjust on exit max value (SEMAEM)
*
* IPC Shared Memory
*
4294967295 max shared memory segment size (SHMMAX)
100 shared memory identifiers (SHMMNI)
Okay, the new problem is that when I place as little as double the default
amount of connections and buffers, Postgresql starts, but dies shortly
thereafter. There is not any log output as to why it dies, it just does!!
Can someone help me please??
Errol Neal
Errol Neal, Systems/Network Administrator
eneal@enhtech.com
Enhanced Technologies Inc.
http://www.enhtech.com
703-924-0301 or 800-368-3249
703-924-0302 Fax
Import Notes
Resolved by subject fallback