What does 'nice' mean on CPU utilization graphs?

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.

Source: http://www.cyberciti.biz/tips/how-do-i-find-out-linux-cpu-utilization.html

See also man mpstat.