如何通过nice和renice命令来设置进程的优先级

如何通过nice和renice命令来设置进程的优先级,第1张

系统中运行的每个进程都有一个优先级(亦称“nice 值”),其范围从 -20 (最高优先级)到 19 (最低优先级)。默认情况下,进程的优先级是 0 (“基本”调度优先级)。优先级比较大的进程(nice 值比较小,最低到 -20)相对优先级比较小的进程(直到 19)将比较频繁地被调度运行,因此就拥有更多的进程周期。一般用户只能降低它们自己进程的优先级别,并限于 0 到 19 之间。超级用户(root)可以将任何进程的优先级设定为任何值。

renice

如果某个或某些进程消耗了过多的系统资源,除了终止它们,您还可以更改它们的优先级。为此,请使用 renice 命令。其语法为:

renice 优先级 [[-p] pid ...] [[-g] pgrp ...] [[-u] 用户名 ...]

其中,优先级是指优先级的值;pid (对多个进程请使用 -p 选项)表示进程 ID 号;pgrp (如果有多个,请用 -g)表示进程组 ID 号;而用户(如果不只一个,请用 -u)表示进程所有者的用户名。

假定您运行了一个执行长时间科学运算的进程(其 PID 为 785),但是您又想要玩一个游戏而想要释放一些系统资源。那么您可以:

$ renice +15 785

这样,您的那个进程可能需要花费更长一些时间完成,不过它就不会从其他进程手里抢走 CPU 时间片。

如果您是系统管理员,而且您发觉某些用户执行了过多的进程并消耗了过多的系统资源时,您只需键入一个命令就可以改变这些用户进程的优先级:

# renice +20 -u li_si

这样,li_si 的所有进程都将拥有最低优先级,因而就不会阻碍其他用户的进程了。

nice

既然您已经了解可以更改进程的优先级,您可能需要按照指定的优先级执行命令。为此,请使用 nice 命令。

此时,您需要把您要运行的命令作为 nice 的一个参数。而其另一个参数 -n 可用来设置优先级别。默认情况下 nice 将设置优先级为 10。

比如,您想要创建一张 Mandrakelinux 安装 CD-ROM 的 ISO 映像:

$ dd if=/dev/cdrom of=~/mdk1.iso

在某些装配标准 IDE CD-ROM 的系统上,复制大量信息的进程将消耗过多系统资源。要避免复制操作阻碍其他进程,您可以用如下命令在一个比较低的优先级上启动该进程:

$ nice -n 19 dd if=/dev/cdrom of=~/mdk1.iso

然后就可以继续工作了。

Linux kill 命令用于终止进程,其用法步骤如下:

需要准备的材料分别是:电脑、linux连接工具。

1、首先连接上linux主机,进入命令行状态。

2、输入:ps -ef,按回车,查询进程列表。

3、选择需要终止的进程,例如PID为9977的进程,则命令行输入:kill 9977,按回车即可终止该进程。

ps:查看进程

pstree:显示进程状态树

pgrep:查找匹配条件的进程

kill:终止进程

killall:通过进程名终止进程

pkill:通过进程名终止进程

top:实时显示系统中各个进程的资源占用状况

nice:调整程序运行时的优先级

renice:调整运行中进程的优先级

nohup:用户退出系统进程继续工作

strace:跟踪进程的系统调用

ltrace:跟踪进程调用库函数

runlevel:输出当前运行级别

init:初始化Linux进程

service:管理系统服务


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/26232.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-02-17
下一篇2023-02-17

发表评论

登录后才能评论

评论列表(0条)

    保存