Miscellaneous kernel statistics in /proc/stat
Various pieces of miscellaneous information about kernel activity are available in the /proc/stat file. All of the numbers reported in this file are aggregates since the system first booted. For a quick look, simply cat the file:
cat /proc/stat
cpu 2255 34 2290 22625563 6290 127 456 0 0
cpu0 1132 34 1441 11311718 3675 127 438 0 0
cpu1 1123 0 849 11313845 2614 0 18 0 0
intr 114930548 113199788 3 0 5 263 0 4 [... lots more numbers ...]
ctxt 1990473
btime 1062191376
processes 2915
procs_running 1
procs_blocked 0
softirq 183433 0 21755 12 39 1137 231 21459 2263
The very first cpu line aggregates the numbers in all of the other “cpuN” lines. These numbers identify the amount of time the CPU has spent performing different kinds of work. Time units are in USER_HZ (typically hundredths of a second). The meanings of the columns are as follows, from left to right:
user: Normal processes executing in user mode.
nice: Niced processes executing in user mode.
system: Processes executing in kernel mode.
idle: Twiddling thumbs.
iowait: Waiting for I/O to complete.
irq: Servicing interrupts.
softirq: servicing softirqs.
steal: Involuntary wait.
guest: Running a normal guest.
guest_nice: Running a niced guest.
The remaining lines are defined where:
intr gives counts of interrupts serviced since boot time, for each of the possible system interrupts. The first column is the total of all interrupts serviced; each subsequent column is the total for that particular interrupt.
ctxt gives the total number of context switches across all CPUs.
btime gives the time at which the system booted, in seconds since the Unix epoch.
processes gives the number of processes and threads created, which includes (but is not limited to) those created by calls to the fork() and clone() system calls.
procs_running gives the total number of threads that are running or ready to run (i.e., the total number of runnable threads).
procs_blocked gives the number of processes currently blocked, waiting for I/O to complete.
softirq gives counts of softirqs serviced since boot time, for each of the possible system softirqs. The first column is the total of all softirqs serviced; each subsequent column is the total for that particular softirq.