Re: [ADMIN] Postgres shared memory error

2012-04-28 Thread Fernando Hevia
On Sat, Apr 28, 2012 at 13:10, Kevin Kempter cs_...@consistentstate.comwrote:

  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.


Re: [ADMIN] Postgres shared memory error

2012-04-28 Thread Kevin Kempter

On 04/28/2012 10:32 AM, Fernando Hevia wrote:



On Sat, Apr 28, 2012 at 13:10, Kevin Kempter 
cs_...@consistentstate.com mailto: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. 




Free command:

/ # free
 total   used   free sharedbuffers cached
Mem:   1020856 946804  74052  0  61280 796004
-/+ buffers/cache:  89520 931336
Swap:0  0  0/







Re: [ADMIN] Postgres shared memory error

2012-04-28 Thread Fernando Hevia
On Sat, Apr 28, 2012 at 13:37, Kevin Kempter cs_...@consistentstate.comwrote:


 Free command:

 * # free
  total   used   free sharedbuffers cached
 Mem:   1020856 946804  74052  0  61280 796004
 -/+ buffers/cache:  89520 931336
 Swap:0  0  0*



 You are right. Your system has only 1 GB RAM.