Received: from sss2.sss.pgh.pa.us (sss.pgh.pa.us [209.114.166.2]) by hub.org (8.9.3/8.9.3) with ESMTP id SAA78827 for ; Wed, 24 May 2000 18:58:06 -0400 (EDT) (envelope-from tgl@sss.pgh.pa.us) Received: from sss2.sss.pgh.pa.us (tgl@localhost [127.0.0.1]) by sss2.sss.pgh.pa.us (8.9.3/8.9.3) with ESMTP id SAA12900; Wed, 24 May 2000 18:56:29 -0400 (EDT) To: "S.F. Lee" cc: pgsql-interfaces@postgresql.org Subject: Re: Postmaster is getting bigger In-reply-to: <20000518080747.1512.qmail@web205.mail.yahoo.com> References: <20000518080747.1512.qmail@web205.mail.yahoo.com> Comments: In-reply-to "S.F. Lee" message dated "Thu, 18 May 2000 01:07:47 -0700" Date: Wed, 24 May 2000 18:56:29 -0400 Message-ID: <12897.959208989@sss.pgh.pa.us> From: Tom Lane X-Archive-Number: 200005/44 "S.F. Lee" writes: > I am revamping a computer system by Red Hat 6.0 + > PostgreSQL 6.5.3 + ecpg 2.7 + C. The user interface is > perl Pg + Apache. Everything seems fine, but when I > use "top" to display long term CPU processes, I find > the postmaster is getting bigger in step of 4 kb and > performance is getting worse GRADUALLY (It seems that > perl + Pg would make the size expansion more quickly > than ECPG). Here are some data display in "top": Are your clients connecting via TCP/IP, or via Unix sockets? We recently discovered that the getprotobyname() library function leaks memory in RH6.0 (at least with libc.so.6). Since the postmaster was calling that for each connection accepted via TCP, you'd see steady growth of the postmaster over time on platforms with this bug. Tim Brookes reported the leakage rate to be about 300 bytes per connection cycle. While this problem doesn't directly affect performance, it could slow things down indirectly --- for example by making fork() take longer to launch a new backend. This is fixed for 7.0.1 by not calling getprotobyname(). If you are in a hurry see the nightly snapshot tarballs... regards, tom lane