Linux系统下提升进程优先级的办法

发布时间 2023-06-02 15:42:06作者: 阿风小子

与别人共用工作站或者集群进行大型运算,比较愁人,老是与别人分享资源,太蛋疼,所以找了个小妙招,可以试用一下。

 

Linux系统进程的优先级取值:-20 到 19,数越大优先级越低。
 

可以通过top命令来查看,NI那一列。

 

改变进程的优先级的方法有两种:

  www.2cto.com  

1,top命令。输入r,然后根据提示输入进程ID,再输入优先级数值。

 

2,renice命令。renice -n 2 -p 3432。-n,后面是优先级的值;-p,是进程号。

另外:

在嵌入式Linux系统中,大多都是跑一个核心的业务,在数据吞吐量大的时候,会大量占用CPU,导致数据处理不过来,常规办法是优化程序或者更换更高性能的平台来解决,但是如果程序已经优化到极限和平台无法更换的情况下,可以通过提高业务进程的优先级来提高业务数据的吞吐量,例如:

nice -n -20 ./bin 

nice为Linux环境下的改变进程优先级的命令,-n为进程优先级级别参数,-20为优先级级别,Linux一共有40个优先级,分别从-20到19,-20为最高优先级,19为最低优先级,一般程序默认优先级为0,只有root权限才能将进程优先级设为负数,如果程序已经在运行,可以使用renice,在不中断程序的情况下改变其优先级,程序处于哪个优先级可以通过top命令查看,NI字段则为对应该程序的优先级。在做网络数据分析的时候该方法非常管用,没有提高优先级时,数据吞吐量大概为800Mbps,再往上就开始处理不过来了,直到应用层buffer满了导致数据丢失,将进程提高到最高优先级,数据吞吐量可以提高到接近900Mbps,效果相当明显。
 

参考文献

https://blog.csdn.net/shamofeiyu/article/details/7172077

https://www.cnblogs.com/the-tops/p/5953898.html