Content deleted Content added
Undid revision 510159511 by 200.201.3.32 (talk) HZ, not Hz, is the correct variable (edit over 7 years old!) |
m Typo fixing (general fixes), replaced: pp. 515-528 → pp. 515–528, ’ → ', - → {{Snd}} (3), deprecated tag tt → code, remove inappropriate ELs for dstat and iotop |
||
Line 4:
== Unix-style load calculation ==
All Unix and Unix-like systems generate a dimensionless [[Software metric|metric]] of three "load average" numbers in the [[kernel (computer science)|kernel]]. Users can easily query the current result from a [[Unix shell]] by running the <
<source lang="console">
$ uptime
14:34:03 up 10:43, 4 users, load average: 0.06, 0.11, 0.09
</source>
The [[W (Unix)|<
An idle computer has a load number of 0 (the idle process isn't counted). Each [[process (computing)|process]] using or waiting for [[Central processing unit|CPU]] (the ''ready queue'' or [[run queue]]) increments the load number by 1. Each process that terminates decrements it by 1. Most UNIX systems count only processes in the ''running'' (on CPU) or ''runnable'' (waiting for CPU) [[Process states|states]]. However, Linux also includes processes in [[uninterruptible sleep]] states (usually waiting for [[Hard disk|disk]] activity), which can lead to markedly different results if many processes remain blocked in [[Input/output|I/O]] due to a busy or stalled I/O system.<ref>http://linuxtechsupport.blogspot.com/2008/10/what-exactly-is-load-average.html</ref> This, for example, includes processes blocking due to an [[Network File System (protocol)|NFS]] server failure or too slow [[Data storage device|media]] (e.g., [[Universal Serial Bus|USB]] 1.x storage devices). Such circumstances can result in an elevated load average which does not reflect an actual increase in CPU use (but still gives an idea of how long users have to wait).
Line 32:
== CPU load vs CPU utilization ==
The comparative study of different load indices carried out by Ferrari et al.<ref name="Empirical load">Ferrari, Domenico; and Zhou, Songnian; "[http://www.eecs.berkeley.edu/Pubs/TechRpts/1987/CSD-87-353.pdf An Empirical Investigation of Load Indices For Load Balancing Applications]", Proceedings of Performance
== Reckoning CPU load ==
Line 55:
}
</source>
The countdown is over a {{code|LOAD_FREQ}} of 5
<poem>
1 HZ = 100 ticks
Line 82:
==Other system performance commands==
Other commands for assessing system performance include:
▲* <tt>[[uptime]]</tt> the system reliability and load average
* [[Vmstat (Unix)|<
▲* [[Top (Unix)|<tt>top</tt>]] for an overall system view
▲* [[Vmstat (Unix)|<tt>vmstat</tt>]] vmstat reports information about runnable or blocked processes, memory, paging, block I/O, traps, and CPU.
* <
▲* [[Htop (Unix)|<tt>htop</tt>]] interactive process viewer
* [[iftop|<code>iftop</code>]]{{Snd}} interactive network traffic viewer per interface
▲* <tt>dstat</tt> [http://dag.wiee.rs/home-made/dstat/] helps correlate all existing resource data for processes, memory, paging, block I/O, traps, and CPU activity.
*
* <
* [[Iostat (Unix)|<code>iostat</code>]]{{Snd}} for storage I/O statistics
* [[
* <code>[[
* <
▲* <tt>[[xload]]</tt> load average graph for X
▲* <tt>/proc/loadavg</tt> text file containing load average
== See also ==
Line 110 ⟶ 109:
}}
* {{cite web
|title = UNIX Load Average
|url = http://www.teamquest.com/pdfs/whitepaper/ldavg1.pdf
|author = [[Neil J. Gunther]]
Line 119 ⟶ 118:
}}<ref group="note">This paper's discussion is useful, but it contains at least one error, in equation 3 (Section 4.2, page 12): The equation should be <math>load(t) = n e^{-\frac 5{60}} + load(t-1) (1 - e^{-\frac 5{60}})</math> instead of <math>load(t) = load(t-1) e^{-\frac 5{60}} + n (1 - e^{-\frac 5{60}}).</math></ref>
* {{cite web
|title = Understanding Linux CPU Load
|url = http://blog.scoutapp.com/articles/2009/07/31/understanding-load-averages
|author = Andre Lewis
|