loadcpu prints out load averages similar to values from "uptime", however based on saturation only, not a combination of utilisation and saturation. The value reported is based on the length of the ready run queue. The first example shows loadcpu running with a sample interval of 1 second on a quiet system. There is no history of samples in the kernel, so loadcpu needs to run for some time (15 minutes) before it can fill all the columns. We finish by running the original uptime command as a comparison $ ./loadcpu 1 CPU Time 1sec 5sec 15sec 1min 5min 15min 02:32:06 0.00 02:32:07 0.00 02:32:08 0.00 02:32:09 0.00 02:32:10 0.00 0.00 02:32:11 0.00 0.00 02:32:12 0.00 0.00 02:32:13 1.00 0.20 02:32:14 0.00 0.20 02:32:15 0.00 0.20 02:32:16 0.00 0.20 02:32:17 0.00 0.20 02:32:18 0.00 0.00 02:32:19 0.00 0.00 02:32:20 0.00 0.00 0.07 02:32:21 0.00 0.00 0.07 02:32:26 0.00 0.00 0.07 ^C $ uptime 2:32am up 25 day(s), 19:29, 3 users, load average: 0.02, 0.01, 0.01 In this example we run loadcpu with a 5 second interval. Over the course of 2 minutes several CPU intensive tasks have been initiated - the 1 second averages immediately changing. $ ./loadcpu 5 CPU Time 1sec 5sec 15sec 1min 5min 15min 02:38:23 0.00 0.00 02:38:28 0.00 0.00 02:38:33 1.00 0.60 0.20 02:38:38 1.00 1.00 0.53 02:38:43 2.00 1.40 1.00 02:38:48 2.00 2.00 1.47 02:38:53 2.00 2.40 1.93 02:38:58 3.00 2.80 2.40 02:39:03 3.00 3.00 2.73 02:39:08 3.00 3.00 2.93 02:39:13 4.00 3.80 3.27 02:39:18 4.00 4.00 3.60 2.00 02:39:23 4.00 4.00 3.93 2.33 02:39:28 5.00 4.20 4.07 2.68 02:39:33 5.00 5.00 4.40 3.05 02:39:38 5.00 5.00 4.73 3.38 02:39:43 5.00 5.00 5.00 3.68 02:39:48 6.00 6.00 5.33 4.02 02:39:53 6.00 6.00 5.67 4.32 02:39:58 6.00 6.00 6.00 4.58 02:40:03 6.00 6.00 6.00 4.83 02:40:08 6.00 6.00 6.00 5.08 02:40:13 6.00 6.00 6.00 5.27 02:40:18 6.00 6.00 6.00 5.43 02:40:23 6.00 6.00 6.00 5.60 ^C $ uptime 2:40am up 25 day(s), 19:37, 3 users, load average: 5.25, 1.80, 0.71