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

Jis*_*kya 5 pulseaudio process-priority process

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

Jje*_*jed 7

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

通常,用户运行的程序只有将其优先级降低为肯定的权限nice。这对于您的计算机不时执行的非关键清洁任务很有用。

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

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

并作为一个小怪胎附录

您可以在命令行中以低/高优先级启动(或准确地说,fork)您自己的程序,如下所示:

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
Run Code Online (Sandbox Code Playgroud)

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