美文网首页
linux系统的进程优先等级调整

linux系统的进程优先等级调整

作者: richard520 | 来源:发表于2016-05-23 15:42 被阅读471次

      1.如何让查看linux系统上各程序的优先级

    命令如下:

    ps -efl  下面这2行是优先等级

    top

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

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

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

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

    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。

    用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

    注释:

    如果要改nice值的话(就是改优先级),可以用上述一样的命令:

    renice -n (nice值) -p (process进程值) :改单一进程优先级;

    renice -n (nice值) -g (group组名):改整个组员的优先级;

    renice -n (nice值) -u (user用户名):改用户的优先级;

    相关文章

      网友评论

          本文标题:linux系统的进程优先等级调整

          本文链接:https://www.haomeiwen.com/subject/zlvarttx.html