所有应用程序都在系统监视器上以正常优先级启动吗?

我注意到在我的系统监视器上,我的一个名为pulseaudio的进程具有非常高的优先级,而我所有其他运行的应用程序都具有正常的优先级。 我不记得曾经改变它,所以它一定是它的默认优先权,对吧? 还有其他这样的应用吗?

从技术上讲,是的。 在Linux中–Ubuntu的内核 – 所有程序都以优先级或“niceness”值为0开始。它们可以在执行时通过使系统调用unistd.h调用更好或更低的优先级nice(int niceness)

通常,用户运行的程序只有权将其优先级降低到积极nice好处。 这对于计算机不时执行的非关键清洁任务非常有用。

但是,Ubuntu还使用一个名为AppArmor的框架,该框架授予特定用户程序管理(“root”)级别权限。 Ubuntu的AppArmor配置为允许某些重要程序请求高优先级(负面nice好处),最值得注意的是PulseAudio。 这可以防止在系统负载过重时播放音频中断。

总之 ,是的,所有应用程序都以正常优先级开始。 但是,实际上,许多应用程序在启动后立即请求不同的优先级。

作为一个有点令人讨厌的附录

您可以在命令行中以低优先级或高优先级启动(或技术上准确,分叉)您自己的程序,如下所示:

 nice -n 10 my_app # this application is low priority, very nice sudo nice -n -10 my_other_app # this application is high priority, very mean 

当然,不能保证他们会保留它。 ;)

通常,有一个很好的理由可以解释为什么某些进程具有更高的优先级 – PulseAudio处理音频混合,高优先级可以减少音频丢失。

但是PulseAudio主要是个例外。 您需要root权限来提升进程的优先级,因此您可能不会看到普通用户拥有的任何其他此类进程。

有许多系统进程和线程以最高优先级运行(您可以通过切换到View> All Processes在System Monitor中看到它们),但不必担心这些。