CPU utilization is calculated in a couple of different ways.
The uptime command displays the average number of jobs in the run queue over the last 1, 5 and 15 minutes. I find this a useful measure since it gives you an idea of how many jobs are waiting for io or some other resource.
'vmstat 1' is interesting
The output from vmstat is difficult to show here but is in vertical columns, grouped into xx main categorys.
[tt]
Procs Reports the number of processes in each of the three following states: in (r)un queue, (b)locked for resources, runnable but s(w)apped
Memory Report on usage of virtual and real memory currently available
Paging Report information about page faults and paging activity.
Disk On some systems the number of disk operations per second is reported, for a limited number of disks.
Faults Report the trap/interrupt rates (per second).
cpu A breakdown of percentage usage of CPU time. On Multi-Processor systems, this is an average across all processors.
[/tt]
The CPU part, which you've asked about (I was getting there, eventually) is split into three
us user time
sy system time
id idle time
User time -- that portion of the total CPU time spent executing in user-space, running user code like 'x = x + 1;' and 'x++';'
System time -- that portion of the total CPU time spent executing in system space, running code on behalf the user process as the kernal e.g. 'printf("hello world\n"

;'
Idle time -- that portion of the total CPU time spent running the system idle loop. Mike
michael.j.lacey@ntlworld.com
Email welcome if you're in a hurry or something -- but post in tek-tips as well please, and I will post my reply here as well.