linux进程nice值及其与优先级的关系

在linux多任务环境的系统中,系统是根据进程的优先级(priority)给进程进行分配资源。优先级越高的进程越有优先执行的权利。配置进程优先权碎玉linux很有用,可以大大改善系统的性能。还可以把指定的进程运行在指定的cpu上。

nice与priority

在linux中使用ps 的-l参数可以对进程的优先权信息进行查看:

1
2
3
4
5
6
$ ps -l
#打印信息:
F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD
0 S 1000 5242 5232 0 80 0 - 7461 wait pts/1 00:00:00 bash
4 T 1000 5881 5242 0 80 0 - 12247 signal pts/1 00:00:01 top
4 R 1000 6386 5242 0 80 0 - 8996 - pts/1 00:00:00 ps

从上面可以看出,上表中打印出一些有用的信息:

  • UID: 进程的user id
  • PID: 进程ID
  • PPID: 当前进程的父进程的ID
  • PRI: 优先级(pri越小优先级越高)
  • NI: nice值,当前进程的nice值
    前三个值比较容易理解,pri和NI的含义,pri比较好理解,即进程的优先级,pri越小,优先级越高,那nice值呢?nice表示进程可被执行的优先级的修正数值。如前面说的,pri越小越优先被执行,那么加入nice之后pri(new)=pri(old)+nice。这样,当nice为负值的时候,该程序的pri变小,优先级越高。

    注意:进程的nice值不是进程的优先级,但是会影响进程优先级的变化。

nice相关linux命令nice与renice

1.nice的作用是启动时设置nice的值

1
ice -n -5 ./MatrixJudge &

-n参数用于指定nice值
2.renice的作用是修改已经存在的进程的nice值

1
renice -5 -p 10000

上述的意思是将PID为10000的nice值置为-5,-p参数用于指定PID。

Comment and share

  • page 1 of 1

魏传柳(2824759538@qq.com)

author.bio


Tencent


ShenZhen,China