[syslog-ng] Re: syslog-ng memory usage

Balazs Scheidler bazsi@balabit.hu
Wed, 4 Aug 1999 14:10:01 +0200


On Tue, Aug 03, 1999 at 09:05:04AM -0400, mr@noc.1st.net wrote:
> Here's what it looked like today:
> 
> root     13410  0.3 54.2 70452 69716 ?       S    Aug02   5:00 syslog-ng
> 
> I've attached the conf file.

What kind of system do you have? I mean is it Linux or something else? I
tried to track down that memory leak, but syslog-ng was not growing at all
for any of the stresstests I used. (I tried both the file and the udp source
driver, and file destination driver) I see the following possibilities:

1) your malloc() implementation in the libc doesn't like fragmentation.
   syslog-ng allocates lots of memory blocks, but frees them as well, maybe
   your malloc() implementation may have problems with fragmented memory.
   You may have a look at GNU Malloc, which is AFAIR available separate from
   libc, and can be compiled to a standalone shared lib.

2) The output queues of syslog-ng begin to fill up, because it is unable to
   handle the load. This should not be a problem though, since by default
   the output queues are 100 entries long for each file. (using 200 bytes as
   an estimated length of a message we get 20*100*200 = 400000 Bytes for
   twenty file destinations)

3) The libc itself leaks somewhere. 

I use GNU libc 2.1.1, GNU/Linux Debian, potato distribution.

-- 
Bazsi
PGP info: KeyID 9AF8D0A9 Fingerprint CD27 CFB0 802C 0944 9CFD 804E C82C 8EB1
     url: http://www.balabit.hu/pgpkey.txt