On Ubuntu server load graphs I see 4 types of CPU consumption: User, System, Nice and Idle.
What does Nice type mean?
It is the CPU scheduling priority, higher vales (+19) mean lower priority, and lower values (-20) mean higher priority (inverse relationship).
man 2 getpriority will give you lots of details. You can set the nice value when launching a process with the
nice command and then change it with the
renice command. Only the superuser (root) can specify a priority increase of a process.
On a CPU utilization graph or report, the "nice" CPU percentage is the % of CPU time occupied by user level processes with a positive nice value (lower scheduling priority -- see
man nice for details).
Basically it's CPU time that's currently "in use", but if a normal (nice value 0) or high-priority (negative nice value) process comes along those programs will be kicked off the CPU.
%user: Percentage of CPU utilization that occurred while executing at the user level (application).
%nice: Percentage of CPU utilization that occurred while executing at the user level with nice priority.
%system: Percentage of CPU utilization that occurred while executing at the system level (kernel).
%iowait: Percentage of time that the CPU or CPUs were idle during which the system had an outstanding disk I/O request.
%idle: Percentage of time that the CPU or CPUs were idle and the system did not have an outstanding disk I/O request.
Nice is intended for batch or background jobs. Jobs are niced (given lower scheduling priority) so they don't use CPU when online users need it. The nice and renice programs set the nice priority. Negative nice priorities are bad (real-time).
If you have low idle time but a lot of nice time, then you are likely running a background process like Seti at Home or something else similar.