Understanding Linux CPU stats

Let's take a step back. There are 3 general states your CPU can be in:

Idle, which means it has nothing to do.
Running a user space program, like a command shell, an email server, or a compiler.
Running the kernel, servicing interrupts or managing resources.
These three meta states can be further subdivided. For example, user space programs can be categorized as those running under their initial priority level or those running with a nice priority. Niceness is a way to tweak the priority level of a process so that it runs less frequently. The niceness level ranges from -20 (most favorable scheduling) to 19 (least favorable). Read More