Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 2 Apr 2004 15:40:12 -0600
From:      Dan Nelson <dnelson@allantgroup.com>
To:        Mark <admin@asarian-host.net>
Cc:        freebsd-hackers@freebsd.org
Subject:   Re: Pointers about CPU load measuring
Message-ID:  <20040402214012.GA49311@dan.emsphone.com>
In-Reply-To: <200404022110.I32LASTU007692@asarian-host.net>
References:  <406D6CEF.9030501@ensmp.fr> <xzpsmfm5dn8.fsf@dwp.des.no> <20040402205301.GD6724@dan.emsphone.com> <200404022110.I32LASTU007692@asarian-host.net>

next in thread | previous in thread | raw e-mail | index | archive | help
In the last episode (Apr 02), Mark said:
> Dan Nelson wrote:
> >>> Someone can send some pointers on how to measure global CPU load
> >>> under FreeBSD from a C program ? I'm looking for values for
> >>> idle/kernel/user, in a similar way as does top. Is there any
> >>> pointer or doc ?. I'd like to avoir browsing top code.
> >>
> >> Use sysctlbyname(3) to retrieve vm.loadavg, which is a struct
> >> loadavg (defined in <sys/resource.h>)
> >
> > Actually the kern.cp_time variable might be better if you want
> > idle/kernel/user values.
> 
> I current let snmpd do the job. Is that as accurate as manually
> reading the kern.cp_time variable?

If you're talking about enterprises.ucdavis.systemStats, then yes.
Snmpd digs directly into /dev/kmem instead of using sysctl (so it can
run on older kernels that didn't provide the sysctl variable), but the
values are the same.  enterprises.ucdavis.laTable is populated from the
vm.loadavg sysctl variable.

-- 
	Dan Nelson
	dnelson@allantgroup.com



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