Thread: shmget problem with Win NT services

shmget problem with Win NT services

From
Kenéz Attila
Date:
Hi!

I installed a Postgres server under Cygwin on a Windows Small Business
server. I installed the db server to run as a service, but if I configure
the service to run normal, as LocalSystem, it gives the next error message:

    IpcMemoryCreate: shmget(key=5432001, size=1441792, 03600) failed: Not
enough core

    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 1441792 bytes), reduce
    PostgreSQL's shared_buffers parameter (currently 64) and/or
    its max_connections parameter (currently 32).

    The PostgreSQL Administrator's Guide contains more information about
    shared memory configuration.

If it runs as Administrator, it works fine. It also gives the same error
message if it runs as any other user (except Administrator). (I installed
the cygwin and the Postgres as Administrator if it counts, but I start the
ipc-daemon in the same process - so with the same user - as the Postgres
server.)

If somebody knows what is wrong, please write me!

Thanks:
    Attila Kenez


Re: shmget problem with Win NT services

From
Tom Lane
Date:
=?iso-8859-1?Q?Ken=E9z_Attila?= <akenez@energo-szoft.hu> writes:
>     IpcMemoryCreate: shmget(key=5432001, size=1441792, 03600) failed: Not
> enough core

> If it runs as Administrator, it works fine. It also gives the same error
> message if it runs as any other user (except Administrator).

Hmm.  From that behavior I would think that this is a permissions problem
not an insufficient-resources problem.  Perhaps cygipc has a small bug
that causes it to return the wrong error code for a permissions failure
(ie, it says ENOMEM when it should say EPERM)?

Either that, or NT has different memory use limits for different users.

I have no idea where you look to fix it in either case; just wanted to
suggest that maybe you shouldn't believe the error code completely.

            regards, tom lane

Re: shmget problem with Win NT services

From
Justin Clift
Date:
Hi Attila,

Probably the best place to ask is on the PostgreSQL "Cygwin" mailing
list, as the people there specialise in Cygwin/Windows knowledge.  Much
of the PostgreSQL Community has stronger knowledge of non-Windows
environments.

You can join that mailing list by going to:

http://developer.postgresql.org/mailsub.php

Hope that helps.

Regards and best wishes,

Justin Clift


Kenéz Attila wrote:
> Hi!
>
> I installed a Postgres server under Cygwin on a Windows Small Business
> server. I installed the db server to run as a service, but if I configure
> the service to run normal, as LocalSystem, it gives the next error message:
>
>     IpcMemoryCreate: shmget(key=5432001, size=1441792, 03600) failed: Not
> enough core
>
>     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 1441792 bytes), reduce
>     PostgreSQL's shared_buffers parameter (currently 64) and/or
>     its max_connections parameter (currently 32).
>
>     The PostgreSQL Administrator's Guide contains more information about
>     shared memory configuration.
>
> If it runs as Administrator, it works fine. It also gives the same error
> message if it runs as any other user (except Administrator). (I installed
> the cygwin and the Postgres as Administrator if it counts, but I start the
> ipc-daemon in the same process - so with the same user - as the Postgres
> server.)
>
> If somebody knows what is wrong, please write me!
>
> Thanks:
>     Attila Kenez
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 4: Don't 'kill -9' the postmaster

--
"My grandfather once told me that there are two kinds of people: those
who work and those who take the credit. He told me to try to be in the
first group; there was less competition there."
- Indira Gandhi