It means processes that have been started with the nice
command, or have called nice
/setpriority
to lower their priority below the standard one. (nice
was the name of the system call in older unixes as well, it's been replaced by setpriority
now. The command name is still the same).
See the manual page or documentation for /proc/stat, for example, http://www.mjmwired.net/kernel/Documentation/filesystems/proc.txt.
Or, try it yourself (on an otherwise unloaded system that belongs to you!). Open 2 terminals. In the 1st, type
$ perl -e 'print "$$\n"; for (;;){}'
and remember the pid, then in the second
$ ps -l -p <pid>
$ iostat -c 1 5
Then, stop the process in the 1st terminal, and restart it with lower priority:
$ nice -1 perl -e 'print "$$\n"; for (;;){}'
Output, on my system: (first time)
$ perl -e 'print "$$\n"; for (;;){}'
22482
$ ps -l -p 22482
F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD
0 R 1000 22482 22443 99 80 0 - 4279 - pts/1 00:00:16 perl
$ iostat -c 1 5
...
avg-cpu: %user %nice %system %iowait %steal %idle
100.00 0.00 0.00 0.00 0.00 0.00
(With nice)
$ nice -1 perl -e 'print "$$\n"; for (;;){}'
22666
$ ps -l -p 22666
F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD
0 R 1000 22666 22443 99 81 1 - 4279 - pts/1 00:00:06 perl
$ iostat -c 1 5
...
avg-cpu: %user %nice %system %iowait %steal %idle
0.00 100.00 0.00 0.00 0.00 0.00
The nice -1
command causes the NI column to increase by one; at the same time, the 100% CPU usage (that is caused by the perl command) moves from %user to %nice.