Linux nice Command
The Linux nice
command executes a program with a modified priority. If no program is specified, it prints the current scheduling priority. The default adjustment is 10, with a range from -20 (highest priority) to 19 (lowest priority).
Usage: All users.
Syntax
nice [-n adjustment] [-adjustment] [--adjustment=adjustment] [--help] [--version] [command [arg...]]
Parameter Description:
-n adjustment
,-adjustment
,--adjustment=adjustment
all increase the original priority by adjustment.--help
displays help information.--version
displays version information.
Example
Setting the priority of a program while running:
# vi & //run in background
[1] 15297
# nice vi & //set default priority
[2] 15298
[1]+ Stopped vi
# nice -n 19 vi & //set priority to 19
[3] 15299
[2]+ Stopped nice vi
# nice -n -20 vi & //set priority to -20
[4] 15300
[3]+ Stopped nice -n 19 vi
# ps -l //display processes
F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD
4 S 0 15278 15212 0 80 0 - 1208 wait pts/2 00:00:00 bash
0 T 0 15297 15278 0 80 0 - 2687 signal pts/2 00:00:00 vi
0 T 0 15298 15278 0 90 10 - 2687 signal pts/2 00:00:00 vi
0 T 0 15299 15278 1 99 19 - 2687 signal pts/2 00:00:00 vi
4 T 0 15300 15278 3 60 -20 - 2687 signal pts/2 00:00:00 vi
4 R 0 15301 15278 0 80 0 - 625 - pts/2 00:00:00 ps
[4]+ Stopped nice -n -20 vi
Increase the priority of ls
by 1 and execute:
nice -n 1 ls
Increase the priority of ls
by 10 and execute:
nice ls
Note: Priority is a parameter used by the operating system to decide CPU allocation. Linux uses a 'round-robin' algorithm for CPU scheduling. The higher the priority, the more CPU time the process may receive.