| From: | Andy Colson <andy(at)squeakycode(dot)net> | 
|---|---|
| To: | Ryan King - NOAA Affiliate <ryan(dot)king(at)noaa(dot)gov>, pgsql-general(at)postgresql(dot)org | 
| Subject: | Re: could not create shared memory segment: Invalid argument | 
| Date: | 2015-07-14 13:59:16 | 
| Message-ID: | 55A515B4.1080903@squeakycode.net | 
| Views: | Whole Thread | Raw Message | Download mbox | Resend email | 
| Thread: | |
| Lists: | pgsql-admin pgsql-general pgsql-performance | 
On 7/13/2015 7:08 PM, Ryan King - NOAA Affiliate wrote:
> Apologies ahead of time for not knowing which group to send to, but I
> wanted to see if anyone has encountered and resolved this type of error.
> I'm setting up postgresql 9.2 streaming replication on RH and after
> copying the master data directory over to the slave, the psql service
> refuses start and gives the following errors.
>
>
>
>     2015-07-13 23:55:41.224 UTC FATAL:  could not create shared memory
> segment: Invalid argument
>     2015-07-13 23:55:41.224 UTC DETAIL:  Failed system call was
> shmget(key=5432001, size=1146945536, 03600).
>     2015-07-13 23:55:41.224 UTC HINT:  This error usually means that
> PostgreSQL's request for a shared memory segment exceeded your kernel's
> SHMMAX parameter.  You can either reduce the request size or reconfigure
> the kernel with larger SHMMAX.  To reduce the request size (currently
> 1146945536 bytes), reduce PostgreSQL's shared memory usage, perhaps by
> reducing shared_buffers or max_connections.
>          If the request size is already small, it's possible that it is
> less than your kernel's SHMMIN parameter, in which case raising the
> request size or reconfiguring SHMMIN is called for.
>          The PostgreSQL documentation contains more information about
> shared memory configuration.
>     2015-07-13 23:56:21.344 UTC FATAL:  could not create shared memory
> segment: Invalid argument
>     2015-07-13 23:56:21.344 UTC DETAIL:  Failed system call was
> shmget(key=5432001, size=58302464, 03600).
>     2015-07-13 23:56:21.344 UTC HINT:  This error usually means that
> PostgreSQL's request for a shared memory segment exceeded your kernel's
> SHMMAX parameter.  You can either reduce the request size or reconfigure
> the kernel with larger SHMMAX.  To reduce the request size (currently
> 58302464 bytes), reduce PostgreSQL's shared memory usage, perhaps by
> reducing shared_buffers or max_connections.
>          If the request size is already small, it's possible that it is
> less than your kernel's SHMMIN parameter, in which case raising the
> request size or reconfiguring SHMMIN is called for.
>          The PostgreSQL documentation contains more information about
> shared memory configuration.
>
>
>
> I've set shared_buffer way down to next to nothing along with
> kernel.shmmax and kernel.shmall per some blogs. However, the same error
> persists, and I'm getting no where. I think ultimately the solution is
> to upgrade, but the devs may not be ready for an upgrade at this point.
> Any help would be greatly appreciated. Thanks!
You don't want to decrease kernel.shmmax you want to set it to the 
request size:
sysctl -w kernel.shmmax=1146945536
shmmax is the only thing you really need to play with.
-Andy
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Albe Laurenz | 2015-07-15 09:10:19 | Re: What is the correct steps if tar process is killed during pg_start_backup() and pg_stop_backup() | 
| Previous Message | Matthieu Lejeune | 2015-07-14 10:32:53 | Re: Automatic restore corruption problem | 
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Ramesh T | 2015-07-14 14:13:19 | Re: timestamp check | 
| Previous Message | Charles Clavadetscher | 2015-07-14 12:28:02 | Re: Where to place suggestions for documentation improvements | 
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Ben Hoyt | 2015-07-14 20:17:52 | Re: Query planner not using indexes with JOIN query and OR clause | 
| Previous Message | Merlin Moncure | 2015-07-14 13:14:00 | Re: Query planner not using indexes with JOIN query and OR clause |