一个进程有40种不同的级别的nice值 (-20 - +19)
nice值越高,优先级越低 -20最高 19最低
仅允许root用户可以设置负的nice值
一般用户只能设置比当前的nice值高的优先值(优先级更低)
通过top修改进程的优先级:
[root@foundation0 ~]# top
KiB Swap: 3031036 total, 17676 used, 3013360 free. 809188 cached Mem
PID to renice [default pid = 61684] 61684
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
KiB Swap: 3031036 total, 17676 used, 3013360 free. 809188 cached Mem
Renice PID 61684 to value 10
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 61684 root 20 0 123788 1772 1144 R 100.0 0.1 0:00.06 top
查看top命令的优先级:
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 61684 root 30 10 123788 1772 1144 R 0.3 0.1 0:00.12 top 1 root 20 0 52984 5312 2908 S 0.0 0.3 1:24.39 systemd
PR值与NI的关系:
PR=NI+20
手动修改进程的nice值:
nice -n <NICELEVEL> <COMMAND>
nice -n 5 ps 以5的优先级运行程序
#修改已经在运行的进程的优先级
renice -n <NICELEVEL> <PID>
renice -n 10 35333
renice:修改nice值:
[root@foundation0 ~]# renice -n 10 34566 #34566表示进程的PID
查看进程修改后的优先级:
[root@foundation0 ~]# ps -o pid,comm,nice #-O 表示option
PID COMMAND NI
10199 bash 0
10528 mail 0
11363 vim 0
11437 su 0
11478 su 0
11482 bash 0
14266 vim 0
14519 ps 0
[root@foundation0 ~]# ps axo pid,comm,nice --sort=-nice