From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | Roberth Andersson <roberth(at)jump-gate(dot)com> |
Cc: | pgsql-hackers(at)postgreSQL(dot)org |
Subject: | Re: [HACKERS] IPC Memory problem with Postmaster on BSDi 4.x |
Date: | 1999-07-31 15:55:45 |
Message-ID: | 13500.933436545@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Roberth Andersson <roberth(at)jump-gate(dot)com> writes:
> BUT when I wrote "postmaster -i" I got a big
> problem which I have never got ever before and I don't know why. Here is
> the error message from postmaster ->
> IpcMemoryCreate: shmget failed (Invalid argument) key=5432001,
> size=1063936, permission=600
> FATAL 1: ShmemCreate: cannot create region
The kernel error message ("Invalid argument", here) is often very
unhelpful when dealing with shared memory and semaphore operations :-(
I will bet that the real problem is that your kernel is configured
not to allow shared mem regions bigger than 1 megabyte --- but could
it say "Request too big", or some such? Nooo...
Postgres 6.5 defaults to wanting a shmem region just over a meg, whereas
6.4 was just under IIRC, so this problem will bite anyone who has the
fairly common kernel parameter setting SHMEMMAX = 1meg.
If that's the problem, you can either reconfigure your kernel with a
larger SHMEMMAX setting, or start Postgres with smaller-than-default
limits on number of buffers and backends. I'd try -N 16 for starters.
Another possibility is that you are running into a kernel limit on the
total amount of shared memory, not the size of this individual chunk.
You say:
> This is what I get when I write ipcs ->
> Message Queues:
> T ID KEY MODE OWNER GROUP
> Shared Memory:
> T ID KEY MODE OWNER GROUP
> m 196608 5432210 --rwa------ postgres user
> m 196609 5432201 --rw------- postgres user
> m 983042 5432207 --rw------- postgres user
> m 1376259 5432010 --rwa------ postgres postgres
> m 131076 5432001 --rw------- postgres user
> m 786437 5432007 --rw------- postgres postgres
> Semaphores:
> T ID KEY MODE OWNER GROUP
If you do not have a postmaster running then those postgres-owned shared
memory segments should not be there; they must be left over from some
old run where the postmaster crashed without releasing 'em :-(. They
could be causing the kernel to decide it's given out too much shared
memory. Use ipcclean to get rid of them.
regards, tom lane
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 1999-07-31 16:13:12 | Re: Selectivity of "=" (Re: [HACKERS] Index not used on simple se lect) |
Previous Message | Oliver Elphick | 1999-07-31 04:36:23 | Re: [HACKERS] Re: [PORTS] RedHat6.0 & Alpha |