linux进程nice值及其与优先级的关系
linux进程nice值及其与优先级的关系
在linux多任务环境的系统中,系统是根据进程的优先级(priority)给进程进行分配资源。优先级越高的进程越有优先执行的权利。配置进程优先权碎玉linux很有用,可以大大改善系统的性能。还可以把指定的进程运行在指定的cpu上。
nice与priority
在linux中使用ps 的-l参数可以对进程的优先权信息进行查看:123456$ ps -l#打印信息:F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD0 S 1000 5242 5232 0 80 0 - 7461 wait pts/1 00:00:00 bash4 T 1000 5881 5242 0 80 0 - 12247 signal pts/1 00:00:01 top4 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的值1ice -n -5 ./MatrixJudge &
-n参数用于指定nice值
2.renice的作用是修改已经存在的进程的nice值1renice -5 -p 10000
上述的意思是将PID为10000的nice值置为-5,-p参数用于指定PID。