/proc/stat: Difference between revisions
No edit summary |
|||
(22 intermediate revisions by the same user not shown) | |||
Line 6: | Line 6: | ||
=Overview= | =Overview= | ||
A file containing kernel/system statistics. | A file containing kernel/system statistics. All counters are computed from the last boot. | ||
=Example= | =Example= | ||
Line 25: | Line 25: | ||
=Contents= | =Contents= | ||
==cpu== | |||
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_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.). | |||
* <span id='user'></span>'''user''' - time in [[Linux_General_Concepts#USER_HZ|USER_HZ]] units spent executing code in user mode. Also see [[Linux_cgroups#user|cgroups cpuacct.stat user time]]. | |||
* <span id='nice'></span>'''nice''' - time in [[Linux_General_Concepts#USER_HZ|USER_HZ]] units spent in user mode with low priority (nice). | |||
* <span id='system'></span>'''system''' - time in [[Linux_General_Concepts#USER_HZ|USER_HZ]] units spent in system mode: kernel executing system calls on behalf of processes. Also see [[Linux_cgroups#system|cgroups cpuacct.stat system time]]. | |||
* <span id='idle'></span>'''idle''' - time in [[Linux_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_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='irq'></span>'''irq''' - time in [[Linux_General_Concepts#USER_HZ|USER_HZ]] units spent servicing hardware interrupts. | |||
* <span id='softirq'></span>'''softirq''' - time in [[Linux_General_Concepts#USER_HZ|USER_HZ]] units spent servicing softirqs. | |||
* <span id='steal'></span>'''steal''' - time in [[Linux_General_Concepts#USER_HZ|USER_HZ]] units spent in other operating systems when running in a virtualized environment. More details: [[Linux_Virtualization_Concepts#Steal_Time|Steal Time]]. | |||
* <span id='guest'></span>'''guest''' - time in [[Linux_General_Concepts#USER_HZ|USER_HZ]] units spent running a virtual CPU for guest operating systems under the control of the Linux kernel. | |||
* <span id='guest_nice'></span>'''guest_nice''' - time in [[Linux_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). | |||
==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. |
Latest revision as of 21:20, 2 May 2018
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. Also see cgroups cpuacct.stat user time.
- 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. Also see cgroups cpuacct.stat system time.
- 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. More details: Steal Time.
- guest - time in USER_HZ units spent running a virtual CPU for guest operating systems under the control of the Linux kernel.
- 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.