Talk:Load (computing)

From Wikipedia, the free encyclopedia

Is there a contradiction in this article?

In the "Calculating Load Average" section, it states:

 each process that is using the CPU or waiting for disk activity
 adds 1 to the load number

In the "Important things to note" section, it states:

 processes which are awaiting I/O, "sleeping" or "blocked" don't
 contribute to load average

Doesn't "waiting for disk activity" mean that a process is blocked waiting for disk I/O?

In general, it would be very helpful if this article explained in which "states" a process contributes to the load number.

Beric 21:45, 22 February 2006 (UTC)

Optimum load average should be the same as the number of processors (or in case of hyperthreading, virtual processors). ie not 2 for a dual processor sysem, 4 for a dual processor with hyper etc...

Contents

[edit] Instantaneous percentage of CPU utilization on Windows?!?

The author states that "On Microsoft Windows PC systems, the system load is given as an instantaneous percentage of CPU utilization." That's not possible, there is no CPU "speedometer" on any processor chip set that I know of. An operating system can only recognize two basic states: idle (0% utilization) or not idle (100% utilization). To report a utilization between 0% and 100% requires that it average the two basic states over some time period. Most operating systems do this by sampling the current state during each clock interrupt and incrementing one of the two state counters (most operating systems also have sub-counters under Not Idle such as Wait I/O in UNIX or processing nested interrupts). The utilization that is then reported is the difference between the counters over some sampling interval divided by the total samples during the interval and that is what is reported as utilization. As for what time interval Windows utilities such as perfmon and the Logs & Alerts Service use I have no clue.

  • Some chips scale frequency now, but your point is still 99% correct. 128.135.99.80 19:57, 7 September 2006 (UTC)
So your just complaining about how it's worded?--Bobby D. DS. 23:17, 29 October 2006 (UTC)

Nope. He was pointing out that just calculating the CPU load average could be meaningless on those systems that change CPU frequency on the fly. If, for example, you see 50%, it's 50% of what ? (of maximum CPU capacity at that particular frequency). It's like measuring speed from an erratically moving car. If that is to be fixed, it would have to somehow poll the frequency that the cpu is running at.

[edit] Processes or jobs?

The article talks about "each process that is using CPU". I think it's more common to talk about "each job", which isn't necessarily synonymous. For example, a process with two threads can count as two jobs.

I think the problem is that each UNIXoid operating system will use different terms. For example, on Linux your jobs are called "tasks".


don't know about you, guys, but wherever I found the word "job" before (related to something to be executed by a computer, that is) it referred to a batch file containing some non-interactive stuff to be done in a certain sequence (series or parallel or both). A job usually contains more processes and has nothing to do with the load average we are talking about here.

[edit] Load Average on non-*nix systems

Load Average is also used in the Tenex operating system developed at BBN and it's spawn, Digital Equipment Corporation's TOPS20. It was not originally used in DEC's VMS operating system for VAX and AXP based systens, but a drop-in device driver was made available to the computing community, and just about every VMS system connected to the Internet has it installed. It is often used on VMS systems to compute a threshold at which ANONYMOUS FTP service will not be allowed. It is also used in VMS Clusters to shunt a cluster-wide service to the least loaded system. The VMS Load Average driver actually computes the load for several system variables; I'd have to go back and look at the code or the documentation to find out what those variables are.

I also remember seeing the Load Average used on TOPS20 before seeing it on BSD Unix.

-HWM

[edit] Error in example of load average?

For example a load average of "3.73 7.98 0.50" on a single CPU system can be interpreted as... the CPU was overloaded by 373%

Shouldn't it be overloaded by 273% ?

To me, a load of 2.00 would mean that it's overloaded by 100%, not 200%.