Re: could not create shared memory segment: Invalid argument - Mailing list pgsql-general
From | Andy Colson |
---|---|
Subject | Re: could not create shared memory segment: Invalid argument |
Date | |
Msg-id | 55A8127C.6050800@squeakycode.net Whole thread Raw |
In response to | Re: could not create shared memory segment: Invalid argument (Ryan King - NOAA Affiliate <ryan.king@noaa.gov>) |
List | pgsql-general |
> On Tue, Jul 14, 2015 at 8:59 AM, Andy Colson <andy@squeakycode.net > <mailto:andy@squeakycode.net>> wrote: > > 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 > > On 7/15/2015 9:13 AM, Ryan King - NOAA Affiliate wrote: > I tried that too - same result. I updated another box w/ the same issue > to 9.4.4, and all is well there. Thanks for your reply. > Ah, I assume then that something else is already using some shared memory. PG needs: > To reduce the request size (currently 58302464 bytes), That much shared memory *free*. You can check current usage with: ipcs -m Add what PG needs to what you are already using, and you should be good to go. -Andy
pgsql-general by date: