linux 调整应用优先级,Linux进程优先级调整

1. Linux top命令输出中PR值和NI值有什么不同

NI 是优先值,是用户层面的概念, PR是进程的实际优先级, 是给内核(kernel)看(用)的。

一般情况下,PR=NI+20, 如果一个进程的优先级PR是20, 那么它的NI(nice)值就是20-20=0。

可以通过改变NI来改变PR: PRI(new) = PRI(old) + nice

NI is the nice value, which is a user-space concept. PR is the process's actual priority, as viewed by the Linux kernel.

For normal processes, the kernel priority is simply +20 from the nice value. Thus a process with the neutral nice value of zero has a kernel priority of 20. This offset-by-20 is done so that a process with a nice value of -20, the highest priority nice value,

receives a kernel priority of zero. Lower numeric values equal higher scheduling priority.

For realtime processes, the kernel priority is the process's real-time priority, but thePR column will simply print RT.

In some versions of the Linux kernel, the kernel priority could differ from the nice value, as the process scheduler applied a small bonus or punishment to interactive or processor-hogging tasks, respectively. In these older kernels, the value given by the

PR column could differ from the nice value. This isn't true with the kernel's current scheduler, the Completely Fair Scheduler (CFS).

This article come from:

http://www.quora.com/Linux/What-is-the-difference-between-the-NI-and-PR-values-in-the-top-1-commands-output

2. Nice调整限制:

nice 值可调整的范围为 -20 ~ 19 ;

Useful priorities are: 20 (the affected processes will run only when nothing else

in the system wants to), 0 (the ''base'' scheduling priority), anything negative (to make things go very fast).

root 可随意调整自己或他人程序的 Nice 值,且范围为 -20 ~ 19 ;

一般使用者仅可调整自己程序的 Nice 值,且范围仅为 0 ~ 19 (避免一般用户抢占系统资源);

一般使用者仅可将 nice 值越调越高,例如本来 nice 为 5 ,则未来仅能调整到大于 5;

3. Nice调整方法

3.1新执行的指令即给予新的 nice 值

[root@www ~]# nice [-n 数字] command

选项与参数:

-n  :后面接一个数值,数值的范围 -20 ~ 19。

www.2cto.com

用ps -l查的话,里面显示的PRI就是PRI(new),核心会自动调整,不是PRI(old) + nice的值,会调高一点点

3.2 已存在程序的 nice 重新调整

renice [number] PID

4. 设置某用户的所有进程优先级

修改/etc/security/limits.conf, 增加一行

userxxx - nice 19

要使 limits.conf 文件配置生效,必须要确保 pam_limits.so 文件被加入到启动文件中。查看 /etc/pam.d/login 文件中有:

session required /lib/security/pam_limits.so

5. 其他:

5.1用taskset限制进程的CPU使用率:

http://www.cyberciti.biz/tips/setting-processor-affinity-certain-task-or-process.html

http://www.jb51.net/LINUXjishu/97275.html

5.2采用cpulimit限制进程的CPU使用率(发生SIGSTOP和SIGCONT信号):

http://cpulimit.sourceforge.net/

http://www.ttlsa.com/tools/cpulimit-limit-cpu-usage-on-linux/

http://maxmanii.blog.163.com/blog/static/1200622672009517112429702/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值