进程调度是linux中非常重要的概念。linux内核有一套高效复杂的调度机制,能使效率极大化,但有时为了实现特定的要求,需要一定的人工干预。比如,你希望操作系统能分配更多的CPU资源给浏览器进程,让浏览速度更快、更流畅,操作体验更好。那具体应该怎么做呢?尽管linux的进程调度算法十分复杂,但都是以进程的优先级为基础的。因此,只需要改变进程的优先级即可。
在linux中,命令用于改变进程的优先级。
命令?什么鬼?哪有命令直接说自己“nice”的?咋一看,这个名字确实很“nice”,只是这里的“nice”是指“niceness”,即友善度、谦让度。用于进程中,表示进程的优先级,也即进程的友善度。niceness值为负时,表示高优先级,能提前执行和获得更多的资源,对应低友善度;反之,则表示低优先级,高友善度。
命令格式:。
当nice没有选项时,输出值表示系统进程缺省的niceness值,一般为0。
当命令中没有给出具体的niceness值时,默认为10。如设置vi进程的niceness为10。
选项后面跟具体的niceness值。niceness值的范围-20~19,小于-20或大于19的值分别记为-20和19。
该命令设置vi进程的niceness值为10,也就是较低的优先级。
如果设置的niceness值为负,那么必须要有管理员权限。这也不难理解,当niceness为负时,意味着该进程要抢占其他进程的资源,必须要有权限才行;如果niceness为正,即表示谦让度高,这对其他进程来说是喜闻乐见的,也当然就不用权限认证了。
可以通过查看进程的niceness值。
--adjustment选项和-n选项的效果是一样的,在等号右边设置对应的niceness值即可。
注意,直接使用“-N”也可以设置niceness值。比如, 将vi的niceness值设置为12,如果是的话,则设置niceness的值为-12。这很容易混淆,建议使用-n或--adjustment选项,不易出错。
以上讨论的都是为即将运行的进程设置niceness值,而用于改变正在运行的进程的niceness值。
,字面意思即重新设置niceness值,进程启动时默认的niceness值为0,可以用renice更新。
语法: -g-p
如:
版权声明:
本文来源网络,所有图片文章版权属于原作者,如有侵权,联系删除。
本文网址:https://www.mushiming.com/mjsbk/2130.html