/proc/stat is discussed in section "5.2. Top-level Files within the proc File System" but three fields regarding the "cpu" lines are omitted and the example file is obsolete: cpu 1139111 3689 234449 84378914 cpu0 1139111 3689 234449 84378914 In RHEL 3, there are three additional fields in each "cpu" line, which now reads something like: cpu 7981016 105003454 8440863 540570993 1830242 13376 2247 cpu0 7981016 105003454 8440863 540570993 1830242 13376 2247 The three additional fields are called iowait, irq, softirq, according to this snippet taken from fs/proc/proc_misc.c: proc_sprintf(page, &off, &len, "cpu %u %u %u %u %u %u %u\n", user, nice, system, idle, iowait, irq, softirq); Please amend the documentation accordingly.
Great catch! Do you know a reference that knows exactly what 'user, nice, system, idle, iowait, irq, softirq' are and what they mean? Currently the individual column values are not explained in detail. It would be a benefitial insertion as the values have changed as well. What should be added as values to the three additional columns now that the test environment used for the current values is no longer available? Thanks!
Proposed substitution: <screen width="60"> <computeroutput> cpu 209841 1554 21720 118519346 72939 154 27168 cpu0 42536 798 4841 14790880 14778 124 3117 cpu1 24184 569 3875 14794524 30209 29 3130 cpu2 28616 11 2182 14818198 4020 1 3493 cpu3 35350 6 2942 14811519 3045 0 3659 cpu4 18209 135 2263 14820076 12465 0 3373 cpu5 20795 35 1866 14825701 4508 0 3615 cpu6 21607 0 2201 14827053 2325 0 3334 cpu7 18544 0 1550 14831395 1589 0 3447 page 477934 1073889 swap 1 0 intr 15239682 14857833 6 0 6 6 0 5 0 1 0 0 0 29 0 2 0 0 0 0 0 0 0 94982 0 286812 disk_io: ctxt 4209609 btime 1078711415 processes 21905 procs_running 1 procs_blocked 0 </computeroutput> </screen> ... <para><computeroutput>cpu</computeroutput> — Measures the number of <firstterm>jiffies</firstterm> (1/100 of a second) that the system has been in user mode, user mode with low priority (nice), system mode, idle task, I/O wait, hardirq (IRQ), and softirq respectively. The IRQ is the direct response while the softirq takes minimal work and queues the "heavy" work up. The softirq runs at a lower priority than the IRQ (hardirq) and therefore may be interrupted more frequently. The total for all CPUs is given at the top, while each individual CPU is listed below with its own statistics. The following example is a 4-way Intel Pentium Xeon configuration with Multi-Threading enabled, therefore showing four physical processors and four virtual processors totaling eight processors. </para>
Above revised and submitted to QA for addition to RHEL3 Errata. NOTE: This section *will* change for RHEL4.