Thread: Out of memory errors on OS X

Out of memory errors on OS X

From
Jeffrey Melloy
Date:
I have a couple users trying to install Postgres on OS X.  To the best
of my knowledge, both of them are using 7.4.5/10.3.5, and got identical
errors while trying to init the database:

Reducing the shared buffers didn't help.

Any thoughts would be appreciated.

Jeffrey Melloy
jmelloy@visualdistortion.org

William-Rowcliffes-Computer:/Users/wmrowcliffe postgres$
/usr/local/bin/initdb -D /usr/local/pgsql/data
The files belonging to this database system will be owned by user
"postgres".
This user must also own the server process.

The database cluster will be initialized with locale C.

fixing permissions on existing directory /usr/local/pgsql/data... ok
creating directory /usr/local/pgsql/data/base... ok
creating directory /usr/local/pgsql/data/global... ok
creating directory /usr/local/pgsql/data/pg_xlog... ok
creating directory /usr/local/pgsql/data/pg_clog... ok
selecting default max_connections... 10
selecting default shared_buffers... 50
creating configuration files... ok
creating template1 database in /usr/local/pgsql/data/base/1... FATAL:
could not create shared memory segment: Cannot allocate memory
DETAIL:  Failed system call was shmget(key=1, size=1081344, 03600).
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 1081344 bytes), reduce PostgreSQL's
shared_buffers parameter (currently 50) and/or its max_connections
parameter (currently 10).
        The PostgreSQL documentation contains more information about
shared memory configuration.

initdb: failed

Re: Out of memory errors on OS X

From
Neil Conway
Date:
On Thu, 2004-09-30 at 13:49, Jeffrey Melloy wrote:
> I have a couple users trying to install Postgres on OS X.  To the best
> of my knowledge, both of them are using 7.4.5/10.3.5, and got identical
> errors while trying to init the database:

Have you tried the suggestions in the documentation?

http://www.postgresql.org/docs/7.4/static/kernel-resources.html#SYSVIPC

-Neil



Re: Out of memory errors on OS X

From
Tom Lane
Date:
Jeffrey Melloy <jmelloy@visualdistortion.org> writes:
> I have a couple users trying to install Postgres on OS X.  To the best
> of my knowledge, both of them are using 7.4.5/10.3.5, and got identical
> errors while trying to init the database:

They need to increase the system's shmmax limit (sysctl kern.sysv.shmmax,
which is only 4MB by default).  You can run one postmaster that way ...
not very well, but it will run ... but you definitely can't start two.
I surmise that they already had one postmaster running?

In OSX 10.3 I believe that the recommended way to fix this is to edit
/etc/rc's setting, and then reboot.  AFAICS there is no reason not to
raise shmmax to 50% or so of physical RAM.

I have asked Apple about using a saner default for shmmax, but a few
more complaints in their bug system wouldn't hurt.

            regards, tom lane

Re: Out of memory errors on OS X

From
Jeffrey Melloy
Date:
Tom Lane wrote:

>Jeffrey Melloy <jmelloy@visualdistortion.org> writes:
>
>
>>I have a couple users trying to install Postgres on OS X.  To the best
>>of my knowledge, both of them are using 7.4.5/10.3.5, and got identical
>>errors while trying to init the database:
>>
>>
>
>They need to increase the system's shmmax limit (sysctl kern.sysv.shmmax,
>which is only 4MB by default).  You can run one postmaster that way ...
>not very well, but it will run ... but you definitely can't start two.
>I surmise that they already had one postmaster running?
>
>In OSX 10.3 I believe that the recommended way to fix this is to edit
>/etc/rc's setting, and then reboot.  AFAICS there is no reason not to
>raise shmmax to 50% or so of physical RAM.
>
>I have asked Apple about using a saner default for shmmax, but a few
>more complaints in their bug system wouldn't hurt.
>
>            regards, tom lane
>
>
I'll pass it on, though I'm wondering why they would have that problem
and others (myself included) don't.

Jeff

Re: Out of memory errors on OS X

From
Kevin Barnard
Date:
Maybe this is a server vs normal OS X issue.  I am postgres on a
normal iMac 10.3.5 with no problems, but this is just a developent box
so I don't need the server version.  All of the servers that I run are
Linux/FreeBSD.  I don't have access to a Mac server, if I did I would
test this myself.


On Wed, 29 Sep 2004 23:24:38 -0500, Jeffrey Melloy
<jmelloy@visualdistortion.org> wrote:
> I'll pass it on, though I'm wondering why they would have that problem
> and others (myself included) don't.
>
> Jeff
>
> ---------------------------(end of broadcast)---------------------------
> TIP 2: you can get off all lists at once with the unregister command
>     (send "unregister YourEmailAddressHere" to majordomo@postgresql.org)
>

Re: Out of memory errors on OS X

From
Scott Ribe
Date:
> I have asked Apple about using a saner default for shmmax, but a few
> more complaints in their bug system wouldn't hurt.

I suspect it won't help, since their official position is already "don't use
shmget, use mmap instead"...


--
Scott Ribe
scott_ribe@killerbytes.com
http://www.killerbytes.com/
(303) 665-7007 voice



Re: Out of memory errors on OS X

From
Tom Lane
Date:
Scott Ribe <scott_ribe@killerbytes.com> writes:
>> I have asked Apple about using a saner default for shmmax, but a few
>> more complaints in their bug system wouldn't hurt.

> I suspect it won't help, since their official position is already "don't use
> shmget, use mmap instead"...

Given that they have improved their SysV IPC support steadily over the
past few Darwin releases, I don't see why you'd expect them to not be
willing to do this.  Having a larger default limit costs them *zero* if
the feature is not used, so what's the objection?

            regards, tom lane

Re: Out of memory errors on OS X

From
Scott Ribe
Date:
> Given that they have improved their SysV IPC support steadily over the
> past few Darwin releases, I don't see why you'd expect them to not be
> willing to do this.  Having a larger default limit costs them *zero* if
> the feature is not used, so what's the objection?

The objection would be attitudinal. I detect a whiff of "that's sooo
obsolete, you should get with the program and do it our way instead" in
their docs...


--
Scott Ribe
scott_ribe@killerbytes.com
http://www.killerbytes.com/
(303) 665-7007 voice