Skip site navigation (1) Skip section navigation (2)

Re: Postgres shared memory error

From: Fernando Hevia <fhevia(at)gmail(dot)com>
To: Kevin Kempter <cs_dba(at)consistentstate(dot)com>
Cc: pgsql-admin(at)postgresql(dot)org
Subject: Re: Postgres shared memory error
Date: 2012-04-28 16:32:33
Message-ID: CAGYT1XQT5SvL93CJcY2+LVNZS0bTQtxzNzQ3q869BhA-KNyVSQ@mail.gmail.com (view raw or flat)
Thread:
Lists: pgsql-admin
On Sat, Apr 28, 2012 at 13:10, Kevin Kempter <cs_dba(at)consistentstate(dot)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.

In response to

Responses

pgsql-admin by date

Next:From: Kevin KempterDate: 2012-04-28 16:37:58
Subject: Re: Postgres shared memory error
Previous:From: Kevin KempterDate: 2012-04-28 16:10:01
Subject: Postgres shared memory error

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group