Load (computing)

Load (computing)

In UNIX computing, the system load is a measure of the amount of work that a computer system is doing. The load average is the average system load over a period of time. It is conventionally given as three numbers that represent the system load during the last one, five, and fifteen minute periods.

Unix-style load calculation

All Unix and Unix-like systems generate a metric of three "load average" numbers in the kernel. These can be most easily queried from the Unix shell by running the uptime command:

$ uptime 09:53:15 up 119 days, 19:08, 10 users, load average: 3.73 7.98 0.50

The w and top commands show the same three load average numbers, as do a range of graphical user interface utilities.

An idle computer has a load number of 0 and each process that is using CPU or waiting for CPU adds to the load number by 1. Most UNIX systems count only processes in the "running" (on CPU) or "runnable" (waiting for CPU) states. However, Linux also includes processes in uninterruptible sleep states (usually waiting for disk activity), which can lead to markedly different results if many processes are blocked in I/O due to a busy or stalled I/O system. This, for example, includes processes that are blocked due to an NFS server failure or slow media (e.g., USB 1.x storage devices), leading to an elevated load average, which does not reflect an actual increase in CPU use (but still gives an idea on how long you have to wait).

The load "average" is calculated as the exponentially damped/weighted moving average of the load "number". The three values of load average refer to the past one, five, and fifteen minutes of system operation.

For single-CPU systems that are CPU-bound, one can think of load average as a percentage of system utilization during the respective time period. For systems with multiple CPUs, the number needs to be divided by the number of processors in order to get a percentage.

For example, a load average of "3.73 7.98 0.50" on a single-CPU system can be interpreted as:
* during the last minute, the CPU was overloaded by 273% (1 CPU with 3.73 runnable processes, so that 2.73 processes were waiting for their turn)
* the CPU was only busy half of the time over the last fifteen minutesThis means that this CPU could have handled all of the work scheduled for the last minute if it were 3.73 times as fast, or if there were 4 (3.73 rounded up) times as many CPUs, but that over the last fifteen minutes it was twice as fast as necessary to prevent runnable processes from waiting their turn.

Conversely, in a system with four CPUs, a load average of 3.73 would indicate that there were, on average, 3.73 processes ready to run, and each one could be scheduled into a CPU.

On modern UNIX systems, the treatment of threading with respect to load averages varies. Some systems treat threads as processes for the purposes of load average calculation: each thread waiting to run will add 1 to the load. However, other systems, especially systems implementing so-called M:N threading, use different strategies, such as counting the process exactly once for the purpose of load (regardless of the number of threads), or counting only threads currently exposed by the user-thread scheduler to the kernel, which may depend on the level of concurrency set on the process.

On many systems, the load average is generated by sampling the state of the scheduler periodically, rather than recalculating on all pertinent scheduler events. This is done for performance reasons, as scheduler events occur frequently, and scheduler efficiency is very important for system efficiency. As a result, sampling error can lead to the load average inaccurately representing actual system behavior. This can be a particular problem for programs that wake up at a fixed interval that aligns with the load average sampling, in which case the process may be under- or over-represented in the load average numbers.

Other meanings

Load (program linking and loading)

When loading compiled programs into computer memory, they are linked to the relevant program resources, and then the fully resolved code is loaded into computer memory for execution. This type of program is often called a "linking loader".

Load (database loading)

When loading data into a database management system, a program designed to read input data and then place it into database tables is called a "loader".

See also

Other commands for assessing system performance:
* uptime for load average
* top for an overall system view
* iostat for storage I/O statistics
* netstat for network statistics
* mpstat for CPU statistics
* tload for display an ncurses graphic of the recent load

External links

* [http://www.teamquest.com/resources/gunther/ldavg1.shtml UNIX Load Average by Dr. Neil Gunther] (including Linux)


Wikimedia Foundation. 2010.

Игры ⚽ Нужен реферат?

Look at other dictionaries:

  • Load — may refer to:*Structural load, forces which are applied to a structure *Cargo, Freight, or Lading *The load of a mutual fund (see Mutual fund fees and expenses) *The load of an insurance contract, defined as the percent increase of the expected… …   Wikipedia

  • Load balancing (computing) — Load balancing is a computer networking methodology to distribute workload across multiple computers or a computer cluster, network links, central processing units, disk drives, or other resources, to achieve optimal resource utilization,… …   Wikipedia

  • Load balancing — or load distribution may refer to: Load balancing (computing), balancing a workload amongst multiple computer devices Load balancing (electrical power), the storing of excess electrical power by power stations during low demand periods, for… …   Wikipedia

  • load — A sales charge paid by an investor in some mutual fund shares or annuities. The sales charge may be a front end charge, a back end charge, or a 12b 1 charge. Also, an expression used to describe a mutual fund that imposes sales charges on… …   Financial and business terms

  • load — I UK [ləʊd] / US [loʊd] noun Word forms load : singular load plural loads *** 1) [countable] something that a person or animal carries, especially a large amount of things The men were struggling with their heavy loads. a) [countable] the goods… …   English dictionary

  • Load-Link/Store-Conditional — In computer science, load link (LL, also known as load linked or load and reserve ) and store conditional (SC) are a pair of instructions that together implement a lock free atomic read modify write operation.Load link returns the current value… …   Wikipedia

  • computing — noun 1. the procedure of calculating; determining something by mathematical or logical methods • Syn: ↑calculation, ↑computation • Derivationally related forms: ↑computational (for: ↑computation), ↑compute …   Useful english dictionary

  • Load/Store-Architektur — Eine Load/Store Architektur ist eine Computerarchitektur, deren Befehlssatz Daten Speicherzugriffe ausschließlich mit speziellen Lade (Load) und Speicher (Store) Befehlen erlaubt. Sie wird auch als Register Register Architektur bezeichnet. RISC… …   Deutsch Wikipedia

  • load time — / ləυd taɪm/ noun in computing, the time it takes for a page of data to open completely in a window …   Marketing dictionary in english

  • Data Intensive Computing — is a class of parallel computing applications which use a data parallel approach to processing large volumes of data typically terabytes or petabytes in size and typically referred to as Big Data. Computing applications which devote most of their …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”