Re: [HACKERS] posmaster failed under high load - Mailing list pgsql-hackers

From Tatsuo Ishii
Subject Re: [HACKERS] posmaster failed under high load
Date
Msg-id 199905040505.OAA00448@ext16.sra.co.jp
Whole thread Raw
In response to posmaster failed under high load  (Oleg Bartunov <oleg@sai.msu.su>)
Responses Re: [HACKERS] posmaster failed under high load
List pgsql-hackers
> Today I run http_load to do some benchmark of my Web-DB application
> and found that under high load (it was about 18 postgres running ) postsmaster failed.
> Restarting postmaster produces error:
> 
> IpcMemoryCreate: shmget failed (Identifier removed) key=5432010, size=24588, permission=700
> IpcMemoryIdGet: shmget failed (Identifier removed) key=5432010, size=24588, permission=0
> IpcMemoryAttach: shmat failed (Invalid argument) id=-2
> FATAL 1:  AttachSLockMemory: could not attach segment
> 
> I checked shared memory:
> 23:27[zeus]:~>ipcs -a
> 
> ------ Shared Memory Segments --------
> shmid     owner     perms     bytes     nattch    status      
> 10496     postgres  700       24588     5         dest        
> 10497     postgres  600       8852184   5         dest        
> 10498     postgres  600       96804     5         dest        
> 
> ------ Semaphore Arrays --------
> semid     owner     perms     nsems     status      
> 
> ------ Message Queues --------
> msqid     owner     perms     used-bytes  messages    
> 
> Does this error means I need to increase shared memory ?
> My setup: Linux 2.0.36, Dual PPRO, 256 Mb RAM
> Postgres 6.4.2

I don't think so unless you increased the shared buffer size using -B
option. Stock 6.4.2 is very buggy with the shared memory
usage. Probably it's the cause. Try Tom Lane's fix or 6.5b. I have
tested 6.5b with 128 backends running and it seems very stable.

Another possibility is you don't have enough file descriptors.
What do you get by:
$ cat /proc/sys/kernel/file-max
1024 or so is not enough. You could increase it by:
echo 4096 > /proc/sys/kernel/file-max
Decreasing the usage of file descriptors per backend is also a good idea.
try:
ulimit -n 20
before starting postmaster.
---
Tatsuo Ishii


pgsql-hackers by date:

Previous
From: Bruce Momjian
Date:
Subject: Re: [HACKERS] XIDTAG ???
Next
From: Oleg Bartunov
Date:
Subject: Re: [HACKERS] posmaster failed under high load