I have a single-core x86 machine where I execute the burnP6
(from cpuburn package) for 1 second and then kill the program:
while true; do /usr/bin/burnP6 & sleep 1; pkill burnP6; sleep 1; done
If I check the CPU utilization with top -d 1
, the load for burnP6
process is usually less than 50%. If I run the while true; do ps -e -o cmd,pcpu | grep burnP6; done
command, the CPU load has following characteristics:
/usr/bin/burnP6 0.0
/usr/bin/burnP6 9.0
/usr/bin/burnP6 10.0
/usr/bin/burnP6 10.0
/usr/bin/burnP6 11.0
/usr/bin/burnP6 11.0
/usr/bin/burnP6 12.0
/usr/bin/burnP6 12.0
/usr/bin/burnP6 13.0
/usr/bin/burnP6 14.0
/usr/bin/burnP6 15.0
/usr/bin/burnP6 15.0
/usr/bin/burnP6 16.0
/usr/bin/burnP6 16.0
/usr/bin/burnP6 17.0
/usr/bin/burnP6 18.0
/usr/bin/burnP6 18.0
/usr/bin/burnP6 19.0
/usr/bin/burnP6 20.0
/usr/bin/burnP6 20.0
/usr/bin/burnP6 21.0
/usr/bin/burnP6 22.0
/usr/bin/burnP6 22.0
/usr/bin/burnP6 23.0
/usr/bin/burnP6 24.0
/usr/bin/burnP6 24.0
/usr/bin/burnP6 25.0
/usr/bin/burnP6 25.0
/usr/bin/burnP6 26.0
/usr/bin/burnP6 27.0
/usr/bin/burnP6 28.0
/usr/bin/burnP6 28.0
/usr/bin/burnP6 28.0
/usr/bin/burnP6 30.0
/usr/bin/burnP6 30.0
/usr/bin/burnP6 31.0
/usr/bin/burnP6 31.0
/usr/bin/burnP6 32.0
/usr/bin/burnP6 32.0
/usr/bin/burnP6 33.0
/usr/bin/burnP6 33.0
/usr/bin/burnP6 35.0
/usr/bin/burnP6 35.0
/usr/bin/burnP6 36.0
/usr/bin/burnP6 36.0
/usr/bin/burnP6 37.0
/usr/bin/burnP6 38.0
/usr/bin/burnP6 38.0
/usr/bin/burnP6 39.0
/usr/bin/burnP6 40.0
/usr/bin/burnP6 40.0
/usr/bin/burnP6 41.0
/usr/bin/burnP6 42.0
/usr/bin/burnP6 42.0
/usr/bin/burnP6 43.0
/usr/bin/burnP6 44.0
/usr/bin/burnP6 44.0
/usr/bin/burnP6 45.0
/usr/bin/burnP6 45.0
/usr/bin/burnP6 46.0
/usr/bin/burnP6 46.0
/usr/bin/burnP6 47.0
/usr/bin/burnP6 48.0
/usr/bin/burnP6 48.0
/usr/bin/burnP6 49.0
/usr/bin/burnP6 50.0
/usr/bin/burnP6 50.0
/usr/bin/burnP6 51.0
/usr/bin/burnP6 52.0
/usr/bin/burnP6 52.0
/usr/bin/burnP6 53.0
/usr/bin/burnP6 0.0
As seen above, the load will quickly go from 0% to 53%, but then the burnP6
process is killed, i.e. it runs for too short time to reach 99% - 100% utilization. Are those results caused by measuring method and actually the burnP6
process utilizes CPU 100% from the very first microsecond? :) Or does it indeed take process 1 to 2 seconds to get all the CPU time?
top
andps
show the same results because I constantly start newburnP6
processes.burnP6
process runs for too short time to show 100% CPU usage intop
orps
. However, I think I got my answer from this very same thread you pointed in your comment- at any given moment a process either uses the CPU or not. Thus you have either 0% or 100% load in that exact moment. This means that actually the CPU usage ofburnP6
process is 100% from the very first microsecond. Is there an utility which allows to measure CPU usage for micro- or millisecond intervals? – Martin Nov 19 '14 at 12:03