nice命令设置程序优先级
- PRI(进程优先级)和NI(进程优先级修正值)
- 进程优先级取值范围
- 查看进程的优先级值
- nice命令--设置程序的优先级
- 服务单元中设置进程优先级
- renice命令--更改程序的优先级
- top下设置进程优先级
- 持久化配置指定用户的nice值
PRI(进程优先级)和NI(进程优先级修正值)
- PRI(Priority)是进程的优先级,其值越小,优先级越高,进程越有可能先执行。
- NI(Nice)是进程的优先级修正值,可以调整进程的优先级。
- 通过修改nice值,用户可以
间接地影响进程的PRI值。 当nice值为负时,进程的优先级会变小(优先级提升);当nice值为正时,进程的优先级会变大(优先级降低)。
进程优先级取值范围
PRI的取值范围是
0到139实际优先级范围(PR或PRI):0到99用户空间优先级范围:100到139
nice指令可以设置程序运行的优先级,优先级会影响到程序的调度时间。- nice的范围是
-20 到19,其中-20优先级最高,19优先级最低。
- nice的范围是
# top查看优先级top查看进程的优先级值
https://langzi989.github.io/2016/12/19/linux进程nice值及其与优先级的关系/
# 查看进程的pid号## -l 使用长格式显示pgrep-l进程名# 查看进程的优先级(PRI)和 nice 值(NI)## -l 使用长格式## -p 指定pid## -o 指定输出列ps-p<PID>-opid,ni,pri,cmd# 查看进程的优先级(PRI)和 nice 值(NI)## -l 使用长格式## -p 指定pidps-l-p<PID>UID | 进程的user id |
|---|---|
PID | 进程ID |
PPID | 当前进程的父进程的ID |
PRI | 进程优先级(pri越小优先级越高) |
NI | nice值,程序优先级修正数值 |
nice表示进程可被执行的优先级的修正数值。
如前面说的,pri越小越优先被执行,那么加入nice之后pri(new)=pri(old)+nice。
这样,当nice为负值的时候,该程序的pri变小,优先级越高。
nice命令–设置程序的优先级
nice命令用于启动新进程时,指定其nice值。
# nice -n 优先级数值 程序名# 将 vi 运行的优先级设置为 -18## 取值范围是20--负20,数字越小,优先级越高nice-n-18vi&服务单元中设置进程优先级
[Service]# 设置进程优先级ExecStart=/usr/bin/nice-n-20/usr/local/bin/nfsc$Client_OPTSrenice命令–更改程序的优先级
renice命令可以在进程运行时调整其nice值,从而改变其优先级。
# nice -n 优先级数值 pid## 取值范围是20--负20,数字越小,优先级越高nice-n-201071# renice对正在进行的进程调整优先级# 将pid 1071的优先级调整为最高# renice -n 优先级值 -p ${pid}renice-n-201071top下设置进程优先级
https://blog.csdn.net/jiangbing9293/article/details/48053379
## -e 显示所有进程## -L 显示每个线程的详细信息## -f 显示进程的完整路径及参数ps-eLf|more- 1、使用
ps -ef |grep 进程名找到该进程的pid - 2、执行
top命令 - 3、输入
r后提示输入pid,回车 - 4、输入要求输入
优先级权值(-19到19)值越小表示优先级越高,输入-19,回车。设置完成。
持久化配置指定用户的nice值
vim /etc/security/limits.d/nice.conf
| 用户名 | 软限制/硬限制 | priority | nice值 |
|---|---|---|---|
| username | hard | soft | priority |
| ops | * | priority | -20 |
# 软硬一起限制ops用户的nice值为-20ops * priority-20