Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 28 Jun 2005 10:49:25 -0700
From:      Fred Gilham <gilham@csl.sri.com>
To:        freebsd-current@freebsd.org
Subject:   Weird problem with devstat interface
Message-ID:  <200506281749.j5SHnPlr017616@quarter.csl.sri.com>

next in thread | raw e-mail | index | archive | help

Hello,

There's a program called xsysinfo in the ports collection which
currently seems to be just about the only working system status program
for FreeBSD 5 or 6.  Unfortunately the current version seems to have a
memory leak.  This memory leak isn't related to the program itself but
to the devstat interface.  By this I mean that it's not caused by any
malloc or free that the program's code does.  If you run this program
for a few days it will grow to hundreds of megabytes in size and
eventually exhaust memory.  It does this under FBSD 5 & 6 but not 4
(which of course uses a different interface to the kernel stats).

The program will not do this if you use the -nodisk option telling it
not to track disk statistics, which means that the problem gets narrowed
down to the devstat stuff that is used to keep track of disk transfers.

I have been able to get the program to stop doing this by changing the
calls to

devstat_checkversion()
devstat_getnumdevs()
devstat_getdevs()

so they don't use the kvm interface but the sysctl interface
(i.e. passing NULL instead of a file descriptor to /dev/kvm).


It seems like there's either a bug in the port or some weirdness in the
devstat interface, so I thought I'd post about it to see if anyone knew
what was going on.

-- 
Fred Gilham                                        gilham@csl.sri.com
The PTPL (People's Trotskyist Programming League) believes that
hackers are elitist and that all software should be created by the
masses flailing away at millions of keyboards.  I didn't have the
heart to tell them that this has already been tried and the result is
called Linux.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200506281749.j5SHnPlr017616>