有人可以解释如何计算“真实”进程优先级(即 的pri_baz字段ps)吗?
我的猜测是:
pri_baz = 99 - static_priority # if static_priority > 0 (real-time process)
pri_baz = 100 + min(20 + nice + dynamic_adjustment, 39) # if static_priority = 0 (time-shared process)
Run Code Online (Sandbox Code Playgroud)
以下测试支持这一点:
# chrt -r 1 sleep 1 \
> & chrt -r 99 sleep 1 \
> & nice --20 sleep 1 \
> & nice -19 sleep 1 \
> & ps -C sleep -O pri_baz
[1] 25408
[2] 25409
[3] 25410
[4] …Run Code Online (Sandbox Code Playgroud) 我注意到pulseaudio我的 Gentoo Linux 机器上的一个进程的良好级别为 -11。但我不知道它是如何获得如此高的优先级,而不管它是否为普通用户所拥有。
我知道非 root 用户只能使用该nice命令启动优先级低于 0 的程序,如果我们尝试为进程赋予高于 0 的优先级,它会显示“权限被拒绝”。
因为pulseaudio进程归我(非root用户)所有,所以我认为如果没有任何特殊处理,它无法获得如此高的优先级。
所以,我的问题是什么“治疗”确实能够pulseaudio降低友好值。
我是 Linux 技术和 bash 脚本的新手。
现在,我有一个简单的 bash 脚本,它使用mkvextract.
我想知道:如果多个用户同时在同一个或不同的 mkv 文件上使用这个脚本(例如,通过 bash 命令),Linux 将如何对此做出反应?
它是自己创建一个“排序系统”还是并行处理每个命令?
这两个命令nice和renice管理进程优先级有什么区别?
在查看swapon命令手册时,优先级选项被描述为
-p, --priority priority
Specify the priority of the swap device. priority is a value
between -1 and 32767. Higher numbers indicate higher
priority. See swapon(2) for a full description of swap
priorities. Add pri=value to the option field of /etc/fstab
for use with swapon -a. When no priority is defined, it
defaults to -1.
Run Code Online (Sandbox Code Playgroud)
有人可以解释交换的优先级是什么意思。这个设置的较高值和较低值对系统有什么影响,在家用电脑中应该是什么最佳值?编辑:swapon(2) 的手册页显示
They may have any non-negative value chosen by the caller
Run Code Online (Sandbox Code Playgroud)
但在我的系统(debian 10 测试)中,默认优先级值为 -1