Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 2 Apr 2004 23:51:18 +0200 (CEST)
From:      Jose Marcio Martins da Cruz <martins@saci.ensmp.fr>
To:        dnelson@allantgroup.com (Dan Nelson)
Cc:        freebsd-hackers@freebsd.org
Subject:   Re: Pointers about CPU load measuring
Message-ID:  <200404022151.i32LpIw5009567@saci.ensmp.fr>
In-Reply-To: <20040402214012.GA49311@dan.emsphone.com> from "Dan Nelson" at Apr 02, 2004 03:40:12 PM

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.

If I'm not wrong, loadavg gives the mean number of processes in the
run queue averaged on 1, 5 and 15 minutes. This gives an idea of
system load but lacks precision. It seems to me that kern.cp_time
counters is a better metrics of CPU load.

> 
> -- 
> 	Dan Nelson
> 	dnelson@allantgroup.com
> 



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