nice和renice命令详解

nice和renice命令详解进程调度是 linux 中非常重要的概念 linux 内核有一套高效复杂的调度机制 能使效率极大化 但有时为了实现特定的要求 需要一定的人工干预 比如 你希望操作系统能分配更多的 CPU 资源给浏览器进程 让浏览速度更快 更流畅 操作体验更好 那具体应该怎么做呢 尽管 linux 的进程调度算法十分复杂 但都是以进程的优先级为基础的 因此 只需要改变进程的优先级即可 在 linux 中 nice 命令用于改变进程的优先级 nice 命令 什么鬼 哪有命令直接说自己 nice 的 咋一看 这个名字确实很 nice

 

进程调度是linux中非常重要的概念。linux内核有一套高效复杂的调度机制,能使效率极大化,但有时为了实现特定的要求,需要一定的人工干预。比如,你希望操作系统能分配更多的CPU资源给浏览器进程,让浏览速度更快、更流畅,操作体验更好。那具体应该怎么做呢?尽管linux的进程调度算法十分复杂,但都是以进程的优先级为基础的。因此,只需要改变进程的优先级即可。

在linux中,nice命令用于改变进程的优先级。

nice命令?什么鬼?哪有命令直接说自己“nice”的?咋一看,这个名字确实很“nice”,只是这里的“nice”是指“niceness”,即友善度、谦让度。用于进程中,表示进程的优先级,也即进程的友善度。niceness值为负时,表示高优先级,能提前执行和获得更多的资源,对应低友善度;反之,则表示低优先级,高友善度。

nice命令格式:nice [OPTION] [COMMAND [ARG]...]

当nice没有选项时,输出值表示系统进程缺省的niceness值,一般为0。

xie@xie-VirtualBox:~$ nice 0 

nice命令中没有给出具体的niceness值时,默认为10。如nice vi设置vi进程的niceness为10。

回到顶部

-n 选项

-n选项后面跟具体的niceness值。niceness值的范围-20~19,小于-20或大于19的值分别记为-20和19。

xie@xie-VirtualBox:~$ nice -n 10 vi& 

该命令设置vi进程的niceness值为10,也就是较低的优先级。

如果设置的niceness值为负,那么必须要有管理员权限。这也不难理解,当niceness为负时,意味着该进程要抢占其他进程的资源,必须要有权限才行;如果niceness为正,即表示谦让度高,这对其他进程来说是喜闻乐见的,也当然就不用权限认证了。

可以通过ps -l查看进程的niceness值。

xie@xie-VirtualBox:~$ ps -l F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD 0 S 1000 1635 1634 0 80 0 - 2178 wait pts/13 00:00:00 bash 0 T 1000 1677 1635 0 90 10 - 1767 signal pts/13 00:00:00 vi 0 R 1000 1678 1635 0 80 0 - 1606 - pts/13 00:00:00 ps 

回到顶部

–adjustment=N 选项

–adjustment选项和-n选项的效果是一样的,在等号右边设置对应的niceness值即可。

xie@xie-VirtualBox:~$ nice --adjustment=16 vi& [1] 1681 xie@xie-VirtualBox:~$ ps -l F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD 0 S 1000 1635 1634 0 80 0 - 2178 wait pts/13 00:00:00 bas 0 T 1000 1681 1635 0 96 16 - 1767 signal pts/13 00:00:00 vi 0 R 1000 1682 1635 0 80 0 - 1606 - pts/13 00:00:00 ps 

注意,直接使用“-N”也可以设置niceness值。比如,nice -12 vi& 将vi的niceness值设置为12,如果是nice --12 vi&的话,则设置niceness的值为-12。这很容易混淆,建议使用-n或–adjustment选项,不易出错。

回到顶部

其他选项

--help 显示帮助信息 --version 显示版本信息 

回到顶部

renice命令

以上讨论的都是为即将运行的进程设置niceness值,而renice用于改变正在运行的进程的niceness值。

renice,字面意思即重新设置niceness值,进程启动时默认的niceness值为0,可以用renice更新。

renice语法:renice [优先等级][-g
<程序群组名称>
...][
-p
<程序识别码>
...][-u
<用户名称>
...]

如:

renice -5 -p 5200 #将PID为5200的进程的niceness设为-5 renice -5 -u xie #将属于用户xie的进程的niceness设为-5 renice -5 -g group1 #将属于group1组的程序的niceness设为5

 

命令:nice

参数:

-n ,–adjustment=N 两个参数含义相同,设置进程优先级的谦让值(修正值)为N

示例:

nice -n -10 ws_gw 

设置进程ws_gw的优先级的修正值为-10

nice -19 ws_gw

已优先级19来启动ws_gw,此时-不标识负数,而表示参数指令,已19优先级来启动;

作用:

 nice命令以更改过的优先序来执行程序,如果未指定程序,则会印出目前的排程优先序,内定的 adjustment 为 10,范围为 -20(最高优先序)到 19(最低优先序)。

——–也就是说要在启动时,在启动命令前加上 nice xx command才能生效;

例如: nice -10  ./aaa ../conf/aa.xml 

——–./aaa ../conf/aa.xml 为正常启动命令,nice -10 即已修正值为-10来启动aaa

修正值的用法,进程真正的优先级=进程默认优先级+修正值(nice值)

PRI(real) = PRI(old) + NI

所以为负值则优先级越高,为正值优先级越低

其他说明:

top时进程信息字段的ni值即为修正值;最低为19,所以下图的20最终为19

已19优先级启动vi

nice和renice命令详解

nice和renice命令详解

 已正常优先级启动vi

nice和renice命令详解

nice和renice命令详解

 

 已修正值-10启动vi:

 nice和renice命令详解

nice和renice命令详解

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/220070.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月17日 下午9:19
下一篇 2026年3月17日 下午9:19


相关推荐

  • 深度卷积神经网络基本介绍

    深度卷积神经网络基本介绍nbsp nbsp nbsp nbsp 关于深度卷积神经网络的前世今生 就不在此处进行过多的介绍 在此 主要对网络的各个组成部分进行简要介绍 图 1 基本的深度卷积网络结构 nbsp nbsp nbsp nbsp 通过图 1 可知深度卷积神经网络主要是由输入层 卷积层 激活函数 池化层 全连接层和输出层组成 以下将以人脸识别为例对网络的各个组成部分进行简单的介绍 nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp 输入层 深度卷积网络可直接将图片作为网络的输入 通过训练提取特征 但是为了获得更好的

    2026年3月17日
    2
  • adb常用命令–安装apk[通俗易懂]

    adb常用命令–安装apk[通俗易懂]方法一:adbpush  adbpushxxxx.apk/system/app(安装到 system/app目录下,有时安装不成功)手机中的系统apk应用(*.apk)位置:/system/app安装新apk到手机 adbpushxxxx.apk/system/app。后面的/system/app就是apk的安装目录。adbpush没有adbinstall保险,

    2022年5月29日
    356
  • select poll使用

    select poll使用

    2021年12月4日
    47
  • Winrar去广告图文教程「建议收藏」

    Winrar去广告图文教程「建议收藏」一、前言1.1Winrar解压缩工具  市场上有很多优秀的压缩工具,常用的有Winrar和360压缩工具。Winrar是免费压缩工具,特色是每次使用都会弹出广告。影响用户体验和工作效率,当然最重要的是影响心情。效果如下图。图1-1、Winrar弹广告效果图二、问题处理说明2.1问题解决方式  此处使用工具Resourcehacker对winrar.e…

    2022年5月2日
    63
  • JavaScript经典案例:添加/删除元素类名

    JavaScript经典案例:添加/删除元素类名效果展示 CSS 代码 styletype text css btn wrapper width 300px height 100px text align center line height 100px margin 50pxauto background color FAEBD7 dis box width 300px height 50px text align center styletype text

    2026年3月17日
    3
  • 整流桥厂家ASEMI的插件整流桥和贴片整流桥型号大全[通俗易懂]

    整流桥厂家ASEMI的插件整流桥和贴片整流桥型号大全[通俗易懂]编辑-Z整流桥厂家ASEMI的整流桥型号琳琅满目,太多的型号很多用户在选型的时候就犯难了,下面是整流桥厂家ASEMI的插件整流桥和贴片整流桥型号大全,给大家做一个类别整理。0.5A-0.8A50V~1000V贴片整流桥堆MBS-4贴片整流桥:MB2S,MB4S,MB6S,MB8S,MB10S,HD02,HD04,HD06,HD08,HD10;MBF-4贴片整流桥:MB2F,MB4F,MB6F,MB8F,MB10F;MBM-4插件整流桥:MB2M,MB4M,MB6M,..

    2022年8月24日
    7

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号