/proc/stat: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
Line 25: Line 25:
=Contents=
=Contents=


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


"cpu" lines contain a list of values representing the amount of time, measured in units of [[Linux_7_General_Concepts#USER_HZ|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.).
"cpu" lines contain a list of values representing the amount of time, measured in units of [[Linux_7_General_Concepts#USER_HZ|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.).
Line 34: Line 34:
* <span id='idle'></span>'''idle''' - time in [[Linux_7_General_Concepts#USER_HZ|USER_HZ]] units spent in idle mode. This value should be USER_HZ times the second entry in [[/proc/uptime]].
* <span id='idle'></span>'''idle''' - time in [[Linux_7_General_Concepts#USER_HZ|USER_HZ]] units spent in idle mode. This value should be USER_HZ times the second entry in [[/proc/uptime]].
* <span id='iowait'></span>'''iowait''' - time in [[Linux_7_General_Concepts#USER_HZ|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.
* <span id='iowait'></span>'''iowait''' - time in [[Linux_7_General_Concepts#USER_HZ|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.
* <span id='iowait'></span>'''irq''' - time in [[Linux_7_General_Concepts#USER_HZ|USER_HZ]] spent servicing interrupts.
* <span id='iowait'></span>'''irq''' - time in [[Linux_7_General_Concepts#USER_HZ|USER_HZ]] units spent servicing interrupts.
* <span id='softirq'></span>'''softirq''' - time in [[Linux_7_General_Concepts#USER_HZ|USER_HZ]] spent servicing softirqs.
* <span id='softirq'></span>'''softirq''' - time in [[Linux_7_General_Concepts#USER_HZ|USER_HZ]] units spent servicing softirqs.
* <span id='steal'></span>'''steal''' - time in [[Linux_7_General_Concepts#USER_HZ|USER_HZ]] spent spent in other operating systems when running in a virtualized environment.
* <span id='steal'></span>'''steal''' - time in [[Linux_7_General_Concepts#USER_HZ|USER_HZ]] units spent in other operating systems when running in a virtualized environment.
* <span id='guest'></span>'''guest''' - time in [[Linux_7_General_Concepts#USER_HZ|USER_HZ]] units spent running a virtual CPU for guest operating systems under the control of the Linux kernel. More details: [[Linux_Virtualization_Concepts#Steal_Time|Steal Time]].
* <span id='guest_nice'></span>'''guest_nice''' - time in [[Linux_7_General_Concepts#USER_HZ|USER_HZ]] units spent running a niced guest (virtual CPU for guest operating systems under the control of the Linux kernel).


                            guest (since Linux 2.6.24)
                              (9) Time spent running a virtual CPU for
                              guest operating systems under the control of
                              the Linux kernel.


                            guest_nice (since Linux 2.6.33)
                              (10) Time spent running a niced guest
                              (virtual CPU for guest operating systems
                              under the control of the Linux kernel).


                     page 5741 1808
                     page 5741 1808

Revision as of 08:20, 10 September 2017

Internal

Overview

A file containing kernel/system statistics.

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[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 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 5741 1808
                           The number of pages the system paged in and the
                           number that were paged out (from disk).
                    swap 1 0
                           The number of swap pages that have been brought
                           in and out.
                    intr 1462898
                           This 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: (2,0):(31,30,5764,1,2) (3,0):...
                           (major,disk_idx):(noinfo, read_io_ops,
                           blks_read, write_io_ops, blks_written)
                           (Linux 2.4 only)
                    ctxt 115315
                           The number of context switches that the system
                           underwent.
                    btime 769041601
                           boot time, in seconds since the Epoch,
                           1970-01-01 00:00:00 +0000 (UTC).
                    processes 86031
                           Number of forks since boot.
                    procs_running 6
                           Number of processes in runnable state.  (Linux
                           2.5.45 onward.)
                    procs_blocked 2
                           Number of processes blocked waiting for I/O to
                           complete.  (Linux 2.5.45 onward.)