/proc/stat

From NovaOrdis Knowledge Base
Revision as of 09:42, 10 September 2017 by Ovidiu (talk | contribs) (→‎cpu)
Jump to navigation Jump to search

Internal

Overview

A file containing kernel/system statistics. All counters are computed from the last boot.

Example

cpu  51867872 12504 17293071 1007053375 43884956 0 734997 28476 0 0
cpu0 26424972 5655 8522768 507855710 17916771 0 160989 12217 0 0
cpu1 25442899 6848 8770302 499197664 25968185 0 574008 16259 0 0
intr 5629954620 57 10 0 0 1010 0 3 0 0 0 26 0 15 0 0 0 0 0 0 0 0 0 0 0 0 59505018 0 1142434 0 24 0 311547405 5895 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ctxt 8988684252
btime 1499371654
processes 7911606
procs_running 1
procs_blocked 0
softirq 3871680971 7 1707177643 34840 444108079 0 0 12422 745916301 0 974431679

Contents

cpu

cpu[ID] user nice system idle iowait irq softirq steal guest guest_nice

"cpu" lines contain a list of values representing the amount of time, measured in units of USER_HZ that the system spent in various states. There is a cumulative "cpu" statistics line and immediately after it, lines containing the same values for each processor available in the system ("cpu0", "cpu1", etc.).

  • user - time in USER_HZ units spent executing code in user mode.
  • nice - time in USER_HZ units spent in user mode with low priority (nice).
  • system - time in USER_HZ units spent in system mode: kernel executing system calls on behalf of processes.
  • idle - time in USER_HZ units spent in idle mode. This value should be USER_HZ times the second entry in /proc/uptime.
  • iowait - time in USER_HZ units processes are waiting for I/O to complete. The CPU will not wait for IO, it will be schedule onto another task or will enter idle state. When a CPU goes into idle state for outstanding task I/O, another task will be scheduled on this CPU. On a multi-core CPU, the task waiting for I/O to complete is not running on any CPU, so the iowait of each CPU is difficult to calculate.
  • irq - time in USER_HZ units spent servicing hardware interrupts.
  • softirq - time in USER_HZ units spent servicing softirqs.
  • steal - time in USER_HZ units spent in other operating systems when running in a virtualized environment.
  • guest - time in USER_HZ units spent running a virtual CPU for guest operating systems under the control of the Linux kernel. More details: Steal Time.
  • guest_nice - time in USER_HZ units spent running a niced guest (virtual CPU for guest operating systems under the control of the Linux kernel).

page

page number-of-pages-paged-in number-of-pages-paged-out

The "page" line contains the number of pages the system paged in and the number that were paged out (from disk).

swap

swap 'number-of-pages-brought-in number-of-pages-brought-out

The "swap" line contains the number of swap pages that have been brought in and out.

intr

intr total-count count1 count2 ...

The "into" line shows counts of interrupts serviced since boot time, for each of the possible system interrupts. The first column is the total of all interrupts serviced including unnumbered architecture specific interrupts. Each subsequent column is the total for that particular numbered interrupt. Unnumbered interrupts are not shown, only summed into the total.

disk_io

disk_io (major, disk_idx):(noinfo, read_io_ops, blks_read, write_io_ops, blks_written) ...
                           

ctxt

ctxt context-switch-count

The number of context switches since last boot.

btime

btime seconds-since-epoch

Boot time, in seconds since the Epoch, 1970-01-01 00:00:00 +0000 (UTC).

processes

processes fork-count-since-boot

Number of forks since boot.

procs_running

procs_running runnable-state-process-count

Number of processes in runnable state.

procs_blocked

procs_running blocked-process-count

Number of processes blocked waiting for I/O to complete.