On 05/03/2008, Max <[EMAIL PROTECTED]> wrote:
> I admittedly haven't checked the code yet, but does anyone on this
> list know if for Linux the System CPU counter does include the
> additional wait, interrupt, and kernel metrics or are they counted
> separately?
That's really a question for the Linux kernel people.
The Linux code for this is effectively:
read("/proc/stat", buff);
sscanf(buff, "%llu %llu %llu %llu %llu %llu %llu", &cusell,
&cicell, &csysll, &cidell, &ciowll, &cirqll, &csoftll);
cpu->user_ticks = (unsigned long)cusell;
cpu->nice_ticks = (unsigned long)cicell;
cpu->sys_ticks = (unsigned long)csysll;
cpu->idle_ticks = (unsigned long)cidell;
cpu->wait_ticks = (unsigned long)ciowll;
cpu->intrpt_ticks = (unsigned long)cirqll;
cpu->sirq_ticks = (unsigned long)csoftll;
(with those last three being 0 for 2.4 kernels).
So we're really just reporting the contents of /proc/stat
> How about Solaris?
The equivalent code here is:
kstat_read(kstat_fd, ksp, &cs);
cpu2->user_ticks = (unsigned long)cs.cpu_sysinfo.cpu[CPU_USER];
cpu2->idle_ticks = (unsigned long)cs.cpu_sysinfo.cpu[CPU_IDLE];
cpu2->kern_ticks = (unsigned long)cs.cpu_sysinfo.cpu[CPU_KERNEL];
cpu2->wait_ticks = (unsigned long)cs.cpu_sysinfo.cpu[CPU_WAIT];
/* or cs.cpu_sysinfo.wait[W_IO]+cs.cpu_sysinfo.wait[W_PIO] */
cpu2->sys2_ticks = (unsigned long)cpu2->kern_ticks+cpu2->wait_ticks;
/* nice_ticks, intrpt_ticks, sirq_ticks unused */
Note that system here is kernel + wait.
This inconsistency is partly why I would like to define a new CPU MIB.
That and a desire to support per-CPU statistics, rather than just the
current overall figures.
> RTFM responses with pointers of where I can start to look in the code
> for the Solaris and Linux variants of the UCD MIB (if there are any)
> are welcome as well!
The clearest code is probably that under 'mibgroup/hardware/cpu',
where there's a separate code file for each architecture. See the
routine 'netsnmp_cpu_arch_load'.
The contents of these are basically the same as those from the
earlier 'mibgroup/ucd-snmp/vmstat*.c' files.
Dave
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Net-snmp-users mailing list
[email protected]
Please see the following page to unsubscribe or change other options:
https://lists.sourceforge.net/lists/listinfo/net-snmp-users