Quote:
Originally Posted by
javanoob
q1) Does that means that the 10 threads/load are actually completed within the 1st second (right before the 2nd second)
Yes, that's what I wrote:
ten processes all repeating this pattern : fighting to get the CPU during 1 second then idling for 9 seconds.
Quote:
q2) Do you mean that the load average is calculated as an average of 1 second for the past 10 seconds ?
The load average is not really an average, there are three load average values maintained by the kernel, the 1min, the 5min and the 15min one. They are updated at worst every second.
Quote:
Hence (9+1) =10 load in the past 10 seconds ? (10load/10sec)
The load is 10 during one second and zero for the remaining 9 seconds. The kernel function that computes the load average is smoothing this to a load of 1.
Quote:
so its essentially 1 load / per sec, for the rest of the 60 secs/1 minute ?
One unit of load in average for every second of the minute, including the first one.
Quote:
--but i thought you mentioned earlier that the load is sample every 10ms and not 10 sec?
The load average is updated every second from the run queue statistics which are sampled every 10 ms. (Note that I might be wrong here, it is well possible that starting from Solaris 10, the run queue is also computed from micro-state accounting instead of being sampled. That doesn't affect what we are talking about here).
Quote:
q3) My understanding is that I have 1 cpu/core.
It was utilized 100% on the 1st second of every 10 seconds.
In 1 minute, it would be utilized 5/60 second.
So the utilization for 1 minute is 5/60 * 100 = 8%.
How does it become 10% ?
There are six periods of 10 seconds in one minute, not five, hence 6/60*100=10%