以更高的优先级运行流程


14

我想以mplayer比任何其他进程(包括IO进程)更高的优先级运行。我怎样才能做到这一点?


这个问题没有交叉unix的答案。通常,最好描述一下您所使用的操作系统(包括Linux的发行版,但在这里根本无关紧要)。我添加了linux标签,如果不是您要使用的标签,请对其进行更改。
吉尔(Gilles)'所以

您介意我问您为什么要提高mplayer的优先级吗?我问是因为我在增加mplayer的优先级之前遇到了问题,效果与我要实现的目标相反,因为mplayer会忙于用尽CPU时间进行后期制作清理,然后随着网络的发展而停顿下来喘不过气来获取更多内容,然后mplayer死活了,只是为了再次等待网络而停下来。
杀手主义者2012年

我问了这个原因,我正在通过mplayer播放电影。每当我尝试通过网络下载一些GB文件时。Mplayer在播放时会观察到切片和混蛋。
2012年

Answers:


16

要设置好感(受CPU限制),请使用nice。要设置IO优美度(与IO绑定),请使用ionice。有关更多信息,请参见相应的手册页。您可以将它们一起使用,如下所示:

ionice -c 2 -n 0 nice -n -20 mplayer

注意:您可以定义的最低级别的友好程度(越低越好)由决定limits.conf。在我的计算机上,文件位于/etc/security/limits.conf


1
提及io调度程序类是很好的,因为这可能是一个很大的因素。对于中间-c2调度类,进程默认情况下按尼斯级别排序没有任何价值,因此,您给出的示例命令实际上是不必要的。可以尝试将mplayer放在-c1实时类中。(具有root用户访问权限)
。– mattdm

7

通常,作为非root用户,您只能降低任务的优先级,而不能提高任务的优先级。因此,一种方法是降低其他所有事物的优先级。或者,您可以在系统级别设置可以处理优先级的内容。

如果您使用的是相对较新的Linux发行版,则最有效的方法是使用control groups。这还处于起步阶段,因此基本上您必须手动配置所有内容,但是简而言之,您需要配置分类程序以将不同的进程放入不同的CPU控制组,然后为mplayer进程分配更多的CPU份额。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.