On Sat, Apr 28, 2012 at 13:10, Kevin Kempter <cs_...@consistentstate.com>wrote:
> All; > > I just want to be sure that I'm not causing myself greif. I have a kvm in > the cloud that is supposed to have access to 32GB of ram. when I do a top I > only see 1GB of ram, I've pinged the hosting provider, maybe it shows up as > it's used? > > What does the 'free' command show? > Anyway when I try and start postgres I see this: > * > $ 2012-04-28 12:00:33 EDT [6429]: [1-1] FATAL: XX000: could not create > shared memory segment: Cannot allocate memory > 2012-04-28 12:00:33 EDT [6429]: [2-1] DETAIL: Failed system call was > shmget(key=5432001, size=7700914176, > 03600). > 2012-04-28 12:00:33 EDT [6429]: [3-1] 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 7700914176 bytes), > reduce PostgreSQL's shared_buffers parameter (currently 917504) and/or its > max_connections parameter (currently > 503). > The PostgreSQL documentation contains more information about > shared memory > configuration. > > 2012-04-28 12:00:33 EDT [6429]: [4-1] LOCATION: InternalIpcMemoryCreate, > pg_shmem.c:178 * > > > Which means I should bump up shmmax like this: > > *# sysctl -w kernel.shmmax=7700914176* > > > and add it to /etc/sysctl.conf: > > *# tail > /etc/sysctl.conf > kernel.msgmax = > 65536 > > > > # Controls the maximum shared segment size, in > bytes > kernel.shmmax = > 68719476736 > > > > # Controls the maximum number of shared memory segments, in > pages > kernel.shmall = > 4294967296 > > > > #PostgreSQL > > kernel.shmmax = 7700914176 * > > > I assume I should have to tweak ONLY kernel.shmmax, am I correct? > Correct. > I'm also assuming that this is a KVM cloud host provider issue, i.e. it > looks like I actually do not have 32G or ram. Does anyone disagree with my > conclusions? > > You haven't provided evidence on how much RAM your system sees. A free -m will show the total memory the system has and is being used. Regards.