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

  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用户名):改用户的优先级;

推荐阅读更多精彩内容

  • 为什么要有进程优先级? 这似乎不用过多的解释,毕竟自从多任务操作系统诞生以来,进程执行占用cpu的能力就是一个必须...
    望月成三人阅读 4,333评论 0 1
  • 一个程序被加载到内存当中运行,那么在内存内的那个数据就被称为进程(process)。进程是操作系统上非常重要的概念...
    Zhang21阅读 1,056评论 0 12
  • 关于进程优先级 linux 进程优先级 在进程的运行过程中,CPU资源的分配就是通过进程的优先级来完成的。优先级高...
    杜肇启阅读 426评论 0 1
  • 地理信息系统,俗称GIS。 60年代,70年代,80年代,90年代,离我太遥远,没有任何印象,不说也罢。我们来说说...
    GIS名人谈阅读 612评论 0 5
  • 当读完第一章的内容时,就会想到自己的教育方式是否对孩子是正确的,作为教师有没有真正走进孩子的心里,去了解他...
    海贼王嗨嗨阅读 34评论 0 0