Linux如何使用renice修改进程优先级

哦,这个Renice,我在使用Linux时也遇到过陷阱。
让我告诉你我的经历。

我记得有一年我在服务器上运行备份脚本。
那东西的CPU运行速度太快了,以至于整个服务器都快冻结了。
当我看到它时,嘿,我需要降低优先级。
只需使用 renice -1 0 -p 1 2 3 4 5 将 PID 1 2 3 4 5 的进程的优先级调整为 -1 0 即可。
我记得当时查了资料,发现-2 0是最高的,1 9 是最低的。
我把它调整为-1 0,算是中高。

在调整之前我首先使用了 ps -el |获取备份以查看此过程的好处是什么。
请注意,它最初是 0,即中等优先级。
调整完后,过一段时间再检查一下,ps -el |抓备份发现ni值变成了-1 0 OK,对齐成功了。

但是要小心,我在这里有教训。
我曾经尝试将一个系统服务进程的优先级调整为-2 0,但是命令行直接报错:renice: Permission Denied。
唉,现在我知道了,普通用户只能将进程优先级调高,而不能调低。
如果想调低或调高,需要使用root用户。
后来我用了 sudo renice -2 0 -p 6 7 8 9 0 ,改变了服务进程的优先级。

还有一次我将一个编译任务的进程优先级调整到很高的级别。
导致系统中其他小进程无法运行,用户登录被卡住。
所以调整优先顺序要根据情况而定。
它确实有助于调整 CPU 密集型任务,例如编译和渲染。
但对于I/O密集型的,比如数据库,调整优先级的效果并不明显。
另外,如果优先级设置太低,进程响应也会降低;如果设置得太高,其他进程将无法获得资源。

现在我通常使用top或htop来查看哪个进程的CPU使用率高。
当我发现某个后台任务占用过多 CPU 时,我会增加精细值,例如 5 或 1 0,以便占用更少的资源。
对于数据库等关键服务,我会降低nice值,例如-5 或0,以确保其运行速度快。

调整完成后,您需要确认是否生效。
然后使用 ps -el | grep 检查进程名称,或者直接查看顶部以查看进程是否变慢。
有时系统负载较高,调整可能需要一段时间才能生效,可能需要几分钟。

总之,renice是一个很好的工具,但是如果使用不当也会带来问题。
不要随意调整,尤其不要创作老歌或设定极端值。
系统稳定最重要,关键服务先行。
对于长时间运行的服务,可以在启动时使用nice -n 1 9 ./yourscript直接设置第一优先级,以免以后更改。

看,确实如此。

linux中的nice命令是用来干嘛的?

嘿嘿,说到Linux的优先级,我有话要说。
记得有一次,我帮一个朋友升级了他的服务器。
服务器上程序的响应速度有点慢,所以我想到调整优先级。

在Linux中,有一个命令叫nis,它是用来调整进程优先级的。
取值范围为-2 0~1 9 ,值越小优先级越高。
例如,-2 0 是最高优先级,1 9 是最低优先级。
优先级为 1 0,处于中间位置。

在我朋友的服务器上,普通用户只能将优先级从0调整到1 9 ,只有超级用户才能将优先级从-2 0调整到1 9 ,这就是为什么我必须以超级用户身份登录才能调整程序的优先级。

使用good命令非常容易。
格式如下:nice [-n edit] [-edit] [--edit=edit] [--help] [--version] [command [arg...]]。

例如,如果要将 ls 命令加 1 ,可以输入:nice -n 1 ls。
如果你想加1 0,直接写good ls 因为不加参数默认是加1 0
这个好命令很有趣。
事实上,它告诉操作系统这个进程非常重要,会给予更多的CPU时间。
但说实话,在确定优先级时必须小心。
因为如果为不需要大量CPU资源的进程设置太高的优先级,可能会导致其他重要进程无法获得足够的CPU时间。

我记得朋友的程序在调整优先级后响应速度有所提高,但不明白这样的调整对系统整体性能影响有多大。
可能有点极端,但我认为优先级的调整应该根据实际情况而定,不能盲目跟风。

Linux nice和renice命令用法详解

记得上次帮导师调试服务器时,他突然说:“为什么这个后台编译任务又拖慢系统了?”我查看了终端,发现gcc正在运行CPU。
他随便输入了 sudo renice -5 -p 1 2 3 4 5 ,编译过程立刻就停止了。
Linux的调度机制确实很有趣。
这就像菜市场的收银员,队列中具有优先权(-2 0 是最紧急的,1 9 是最慢的)。

用户默认的nice值也可以在/etc/security/limits.conf中设置。
例如,给devuser添加soft Nice -5 ,新打开的进程就会有自己的优先级。
不过我试了一次,发现nginx卡住了。
也许它有自己复杂的负载均衡逻辑。
在2 02 3 年3 月的测试中,使用nice -1 5 python3 script.py让系统响应更快,但突然发现磁盘I/O也变慢了——Linux调优真是玄学。

深入理解Linux中的进程优先级

好的值范围是 -2 0 到 1 9 ,默认值为 0。
实时优先级从 1 到 9 9 ,仅限特权进程。

常规管道使用微调,实时管道使用 sched_setscheduler。

普通用户只能增加nice值,实时优先级必须是root。

高优先级子进程竞争CPU。

如果不处理实时进程,系统就会卡住。

chrt 或实时进程终止代码。