initdb memory segment creation error
I am getting this error with initdb while creating shared segment -
"memory segment exceeded available memory or swap space. To reduce the
request size (currently 1785856 bytes), reduce PostgreSQL's shared_buffers
parameter (currently 50)) and/or its max_connections parameter (currently
13)."
Total memory is 256 MB and memory available to user processes is 178 MB.
It's not an issue with shared segment exceeding SHMMAX but value of SHMMAX
is 67108864 and SHMALL is 8192. It is not exactly a Postgresql problem but
what am I missing here?
Thanks,
Fahad
questions <questions.612@gmail.com> writes:
I am getting this error with initdb while creating shared segment -
"memory segment exceeded available memory or swap space. To reduce the
request size (currently 1785856 bytes), reduce PostgreSQL's shared_buffers
parameter (currently 50)) and/or its max_connections parameter (currently
13)."
Total memory is 256 MB and memory available to user processes is 178 MB.
It's not an issue with shared segment exceeding SHMMAX but value of SHMMAX
is 67108864 and SHMALL is 8192. It is not exactly a Postgresql problem but
what am I missing here?
Hm, what else is running on the box? PG itself should fit in 256MB but
if you've got other stuff hogging memory, you might have little choice
but to buy more RAM.
(You should also double-check what SHMALL is measured in on your
platform; maybe that 8192 isn't pages but bytes ...)
regards, tom lane
I have few other applications running on my machine but they all don't use
more than 60MB. I checked and SHMALL is in pages. I also reduced
shared_buffers and max_connections but that didn't help. Also I did ipcs
after I got the error and following is what I got -
T ID KEY MODE OWNER GROUP NATTCH SEGSZ
CPID LPID ATIME DTIME CTIME
m 131072 2 --rw------- pgsql pgsql 0
6242304 67055 67055 14:13:34 14:13:34 14:13:34
m 131073 3 --rw------- pgsql pgsql 0
5234688 67057 67057 14:14:02 14:14:02 14:14:02
m 131074 4 --rw------- pgsql pgsql 0
4235264 67059 67059 14:14:30 14:14:30 14:14:30
m 131075 5 --rw------- pgsql pgsql 0
3203072 67061 67061 14:14:57 14:14:57 14:14:57
m 131076 6 --rw------- pgsql pgsql 0
2203648 67063 67063 14:15:25 14:15:25 14:15:25
m 131077 7 --rw------- pgsql pgsql 0
1687552 67072 67072 14:15:54 14:15:54 14:15:54
m 131078 8 --rw------- pgsql pgsql 0
36478976 67074 67074 14:16:22 14:16:22 14:16:22
m 131079 9 --rw------- pgsql pgsql 0
9592832 67086 67086 14:19:10 14:19:10 14:19:10
m 131080 10 --rw------- pgsql pgsql 0
1687552 67137 67137 14:23:50 14:23:50 14:23:50
m 131119 1 --rw------- pgsql pgsql 0
11321344 67053 67053 14:13:07 14:13:07 14:13:07
Postgres did create, attach, detach shared segments but did'nt delete them.
I think these processes were forked by postmaster but why so many were
created? and why those segments not reported?
Thanks,
Fahad
On Thu, Sep 11, 2008 at 5:20 AM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
Show quoted text
questions <questions.612@gmail.com> writes:
I am getting this error with initdb while creating shared segment -
"memory segment exceeded available memory or swap space. To reduce the
request size (currently 1785856 bytes), reduce PostgreSQL'sshared_buffers
parameter (currently 50)) and/or its max_connections parameter (currently
13)."
Total memory is 256 MB and memory available to user processes is 178 MB.
It's not an issue with shared segment exceeding SHMMAX but value ofSHMMAX
is 67108864 and SHMALL is 8192. It is not exactly a Postgresql problem
but
what am I missing here?
Hm, what else is running on the box? PG itself should fit in 256MB but
if you've got other stuff hogging memory, you might have little choice
but to buy more RAM.(You should also double-check what SHMALL is measured in on your
platform; maybe that 8192 isn't pages but bytes ...)regards, tom lane
questions <questions.612@gmail.com> writes:
I have few other applications running on my machine but they all don't use
more than 60MB. I checked and SHMALL is in pages. I also reduced
shared_buffers and max_connections but that didn't help. Also I did ipcs
after I got the error and following is what I got -
[ lots of pre-existing segments ]
Well, there's your problem. You need to clean those up. See "ipcrm",
or it might be easier just to reboot the machine.
Postgres did create, attach, detach shared segments but did'nt delete them.
So it would seem. What Postgres version is this, on what platform
*exactly* (a kernel version number would be good)?
regards, tom lane