Обсуждение: A memory leak. Postgres 7.4. Mac OS. X Server

Поиск
Список
Период
Сортировка

A memory leak. Postgres 7.4. Mac OS. X Server

От
PAviles@its.co.cr
Дата:
Hi,=20
we have a postgresql 7.4 database server on an  X Server with Mac OS=20
10.3.3, 7F45
The server  possess two CPU's, 4 Gb in memory, and an adequate space on=20
disk.
The service run fine in the majority of time. But, we see the memory go=20
down, bit by bit. (A memory leak).
No errors are produced, but the memory is missing, and then we need to=20
restart the service (pg_ctl restart) to clean the busy memory. Before the=
=20
reload, the postgres run slow (by the lack of memory, I think!).
Postgres was compiled with gcc 3.3, with fink on stable (read line, open=20
ssl),=20
and with CFLAGS=3D -03-mtune=3D970 -funroll-loops
The parameters used was: /configure --with-includes=3D/sw/include=20
--with-libraries=3D/sw/lib --prefix=3D/sw --with-rendevouz

Regards

Pablo Avil=E9s Cisneros=20
Area Manager=20
Software Research and Development Area
Development and Research, ITS=20
San Jos=E9,Costa Rica=20
email: paviles@its.co.cr
phone: (506) 2110319=20
cel: (506) 8444312=20=

Re: A memory leak. Postgres 7.4. Mac OS. X Server

От
Christian van der leeden
Дата:
Hi,

    this is just a me too message. We have 7.4.2 running which
was build from fink (I guess same compiler settings).

My investigation so far is that:
- the system will eat more and more memory and will start swapping
   to hard disk
- no performance hits so far (I haven't noticed any)
- the system will crash when the partition where the swap files reside=20
is full
- stopping the connections will free up the virtual memory reported in=20
top
- stopping postmaster will free up the disk space used for swapping and
   will bring back everything to "normal"
- top will report nothing unusual (no large VSIZE, RSIZE, RSHRD values
   per process), just a large total of virtual memory

Settings:
shared_buffers =3D 12500          # 12500*8.2kB + 1 MB =3D shmem ~=3D100MB

/etc/rc
sysctl -w kern.sysv.shmmax=3D268435456
sysctl -w kern.sysv.shmmin=3D1
sysctl -w kern.sysv.shmmni=3D32
sysctl -w kern.sysv.shmseg=3D8
sysctl -w kern.sysv.shmall=3D65536

We've got about 50 concurrent connections (WebApp, via JDBC...)
OSX  Server 10.3.4, on XServe G5 2x2Ghz

Another thing is that we have a C trigger that will do replication on=20
update/insert/delete.

The whole setup was fine when running on 10.2.x and 7.3.4.

Anyway, I don't know if this is a postgres problem or an OSX 10.3.4=20
problem.

If you have any hints or places or tools that I could use to analyze the
problem more throughly, I'd be very glad (right now we're down to=20
rebooting
the system every week).

The DB has one large table with around 1.6 million rows.

Thanks

Christian




On May 21, 2004, at 10:15 PM, PAviles@its.co.cr wrote:

>
> Hi,
> we have a postgresql 7.4 database server on an =A0X Server with Mac OS=20
> 10.3.3, 7F45
> The server =A0possess two CPU's, 4 Gb in memory, and an adequate space=20
> on disk.
> The service run fine in the majority of time. But, we see the memory=20
> go down, bit by bit. (A memory leak).
> No errors are produced, but the memory is missing, and then we need to=20
> restart the service (pg_ctl restart) to clean the busy memory. Before=20
> the reload, the postgres run slow (by the lack of memory, I think!).
> Postgres was compiled with gcc 3.3, with fink on stable (read line,=20
> open ssl),
> and with CFLAGS=3D -03-mtune=3D970 -funroll-loops
> The parameters used was: /configure --with-includes=3D/sw/include=20
> --with-libraries=3D/sw/lib --prefix=3D/sw --with-rendevouz
>
>  Regards
>
>
>  Pablo Avil=E9s Cisneros
>  Area Manager
>  Software Research and Development Area
>  Development and Research, ITS
>  San Jos=E9,Costa Rica
>  email: paviles@its.co.cr
>  phone: (506) 2110319
>  cel: (506) 8444312

Re: A memory leak. Postgres 7.4. Mac OS. X Server

От
Tom Lane
Дата:
Christian van der leeden <lists@logicunited.com> writes:
>     this is just a me too message.

Neither one of you has provided any information that would let anyone
else even guess where to look for the problem :-(

For starters, which process or processes is eating memory? (see top(1))

            regards, tom lane

Re: A memory leak. Postgres 7.4. Mac OS. X Server

От
Christian van der Leeden
Дата:
Hi Tom,

    I'll try to be more specific, but top doesn't report anything
unusual. Each connection (28 of them) has around 1 MB RPRVT,
101 MB real shared, between 10 and 50 MB Real Size, and
231 MB Virtual Size. These values haven't changed. The postmaster
has 60k Real private, 101MB Real shared, 756 k real size and 230 MB
in Virtual Size.

shared buffers is at shared_buffers = 12500    (100 MB)
sort_mem = 5000
vacuum_mem = 5000

My problem is that I can't pinpoint a process that is constantly paging
out. So any pointers to tools to investigate the problem more would
be very helpful. Any unusual things to look for when running
lsof? Nothing special in the postgres server log.
Settings for shared memory in /etc/rc:
sysctl -w kern.sysv.shmmax=268435456
sysctl -w kern.sysv.shmmin=1
sysctl -w kern.sysv.shmmni=32
sysctl -w kern.sysv.shmseg=8
sysctl -w kern.sysv.shmall=65536

The only thing that strikes me as odd, is that each connection has such
a large
virtual size, our backup system is running with shared_buffers of 10 MB
and shows only around 30 MB Virtual size.

Basic problem that the system is paging out and allocating more and
more place
on the disc persists (9 GB, right now and has been up for 3 days).

Maybe I'll try to lower shared buffers...

Christian

P.S.: Running 7.4.2 on OSX 10.3.4 with 4.5 GB RAM.



On Jun 8, 2004, at 6:53 AM, Tom Lane wrote:

> Christian van der leeden <lists@logicunited.com> writes:
>>     this is just a me too message.
>
> Neither one of you has provided any information that would let anyone
> else even guess where to look for the problem :-(
>
> For starters, which process or processes is eating memory? (see top(1))
>
>             regards, tom lane
>
> ---------------------------(end of
> broadcast)---------------------------
> TIP 2: you can get off all lists at once with the unregister command
>     (send "unregister YourEmailAddressHere" to
> majordomo@postgresql.org)
>
-----------------------------------------------
Christian van der Leeden
Software Engineering


Вложения