Thread: Unable to allocate 2G of shared memory on wheezy

Unable to allocate 2G of shared memory on wheezy

From
Dave Cramer
Date:
Here are my kernel settings

kernel.shmmax = 10737418240

# Maximum total size of all shared memory segments in pages (normally 4096 bytes)
kernel.shmall = 2621440
kernel.sem = 250 32000 32 1200

They are actually set...

sysctl -a | grep shm
kernel.shmmax = 10737418240
kernel.shmall = 2621440
kernel.shmmni = 4096

To reduce the request size [FAILently 2232950784 bytes), reduce PostgreSQL's shared memory usage,


Dave Cramer

Re: Unable to allocate 2G of shared memory on wheezy

From
Tom Lane
Date:
Dave Cramer <davecramer@gmail.com> writes:
> To reduce the request size [FAILently 2232950784 bytes), reduce
> PostgreSQL's shared memory usage,

This error message is a bit garbled :-(.  It would've been useful
to know the specific errno, but you've trimmed out that info.

Perhaps it's failing because you already have ~10G in shared memory
segments?  "sudo ipcs -m" might be illuminating.

            regards, tom lane


Re: Unable to allocate 2G of shared memory on wheezy

From
Dave Cramer
Date:
2014-06-18 13:37:15 EDT FATAL:  could not map anonymous shared memory: Cannot allocate memory
2014-06-18 13:37:15 EDT 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 8826445824 bytes), reduce PostgreSQL's shared memory usage, perhaps by reducing shared_buffers or max_connections.

ipcs -m

------ Shared Memory Segments --------
key        shmid      owner      perms      bytes      nattch     status



Dave Cramer


On 18 June 2014 15:15, Tom Lane <tgl@sss.pgh.pa.us> wrote:
Dave Cramer <davecramer@gmail.com> writes:
> To reduce the request size [FAILently 2232950784 bytes), reduce
> PostgreSQL's shared memory usage,

This error message is a bit garbled :-(.  It would've been useful
to know the specific errno, but you've trimmed out that info.

Perhaps it's failing because you already have ~10G in shared memory
segments?  "sudo ipcs -m" might be illuminating.

                        regards, tom lane

Re: Unable to allocate 2G of shared memory on wheezy

From
Dave Cramer
Date:
Problem solved... a runaway process (puppet) had consumed all available real memory

Dave Cramer


On 18 June 2014 15:24, Dave Cramer <davecramer@gmail.com> wrote:
2014-06-18 13:37:15 EDT FATAL:  could not map anonymous shared memory: Cannot allocate memory
2014-06-18 13:37:15 EDT 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 8826445824 bytes), reduce PostgreSQL's shared memory usage, perhaps by reducing shared_buffers or max_connections.

ipcs -m

------ Shared Memory Segments --------
key        shmid      owner      perms      bytes      nattch     status



Dave Cramer


On 18 June 2014 15:15, Tom Lane <tgl@sss.pgh.pa.us> wrote:
Dave Cramer <davecramer@gmail.com> writes:
> To reduce the request size [FAILently 2232950784 bytes), reduce
> PostgreSQL's shared memory usage,

This error message is a bit garbled :-(.  It would've been useful
to know the specific errno, but you've trimmed out that info.

Perhaps it's failing because you already have ~10G in shared memory
segments?  "sudo ipcs -m" might be illuminating.

                        regards, tom lane


Re: Unable to allocate 2G of shared memory on wheezy

From
Tom Lane
Date:
Dave Cramer <davecramer@gmail.com> writes:
> 2014-06-18 13:37:15 EDT FATAL:  could not map anonymous shared memory:
> Cannot allocate memory
> 2014-06-18 13:37:15 EDT 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 8826445824 bytes), reduce
> PostgreSQL's shared memory usage, perhaps by reducing shared_buffers or
> max_connections.

Oh, interesting.  That was the mmap that failed, so this has nothing to do
with SysV shm limits.

Note that your request seems to be pushing 9G, not 2G as you thought.
Maybe it's just more memory than you have?

            regards, tom lane