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>