标签: priority

为什么我不能使用 renice 来增加进程的 nice 值?

来自man renice

超级用户以外的用户只能改变他们拥有的进程的优先级,并且只能在 0 到 PRIO_MAX (20) [...]

所以,我可以renice向上处理我自己的进程(给它们较低的优先级)但永远不会向下:

$ renice 10 22316
22316 (process ID) old priority 0, new priority 10
$ renice 9 22316
renice: failed to set priority for 22316 (process ID): Permission denied
Run Code Online (Sandbox Code Playgroud)

为什么是这样?我可以理解为什么普通用户不能将 nice 值设置为低于 0,但是为什么既然我可以将优先级降低到 10,我就不能再将它提高到 9?这有什么“安全原因”?我有权启动一个nice值为9的进程,那么为什么我不能将它重新设置为9呢?


编辑:我应该学会向下滚动。原来这被列为一个错误man renice

BUGS
     Non super-users can not increase scheduling priorities of their own
     processes, even if they were the ones that decreased the priorities 
     in the first place.
Run Code Online (Sandbox Code Playgroud)

这更令人困惑。如果他们认为这种行为是一个错误,为什么不改变它呢?该 …

priority nice

29
推荐指数
2
解决办法
2万
查看次数

为什么niceness 的范围是-20 到 19?

nice命令允许您调整程序的调度优先级(“niceness”)。在我使用过的所有类 Unix 系统上,niceness 由一系列整数指定,其中 -20 是最有利的调度优先级,0 是默认值,19 是最不利的。

将 0 作为默认的 niceness 已经足够直观了,但是为什么选择 -20 和 19 作为范围的端点呢?为什么不是 -128 和 127,它们完全适合有符号的 8 位字节?或者为什么不从 -100 到 100,这对小数点的人来说更直观,或者类似但更符合人体工程学,-99 到 99?-20 到 19 范围是任意选择的,还是nice与最初与之交互的调度程序的内部结构有某种关系?(我知道今天没有这种关系,至少对于 Linux,它的调度程序使用 0 到 139 范围内的优先级。但是,我对 -20 到 19 范围的历史原因很感兴趣。)

scheduling priority history nice

24
推荐指数
2
解决办法
2445
查看次数

如何以 -20 的不错值启动进程而不为其授予 root 权限?

我想以 -20 的不错值开始一个过程。这需要我使用类似的命令

sudo nice -n -20 matlab
Run Code Online (Sandbox Code Playgroud)

但是,这也以 root 身份启动 matlab。有没有办法让matlab成为非root用户?

我目前的做法是

sudo nice -n -20 sudo -u myusername matlab
Run Code Online (Sandbox Code Playgroud)

这对我来说看起来像一个黑客。有没有直接的方法来做到这一点?

process priority nice

23
推荐指数
3
解决办法
5万
查看次数

如何查看进程的IO优先级?

如何查看进程的IO优先级?例如,想查看某些内容是否已被ionice-ed。

linux scheduling io ionice priority

20
推荐指数
1
解决办法
8110
查看次数

(-) 的 niceness 值是什么意思?

根据手册页和维基百科;nice范围从 -20 到 20。

但是,当我运行以下命令时,我发现某些进程具有非数值,例如 (-)。请参阅标题为“NI”的左起第六列。

(-) 的美好表示什么?

 ps axl 
 F   UID   PID  PPID PRI  NI    VSZ   RSS WCHAN  STAT TTY        TIME COMMAND
4     0     1     0  20   0  19356  1548 poll_s Ss   ?          0:00 /sbin/init
1     0     2     0  20   0      0     0 kthrea S    ?          0:00 [kthreadd]
1     0     3     2 -100  -      0     0 migrat S    ?          0:03 [migration/0]
1     0     4     2  20   0      0     0 ksofti S    ?          0:51 [ksoftirqd/0]
1     0     5 …
Run Code Online (Sandbox Code Playgroud)

linux process-management priority nice linux-kernel

20
推荐指数
2
解决办法
4988
查看次数

18
推荐指数
4
解决办法
7万
查看次数

以非常低的优先级运行linux进程?

我有一个不那么重要的常规进程,但会消耗这么多的 CPU 能力,我还有一个非常重要的进程,但它大部分时间都处于空闲状态,但是当它找到工作时,它确实需要很高的计算能力

我试图与运行nice -20 ./low_priority_processnice --20 ./high_priority_process,但仍然较低优先级占用CPU的显著量时高优先级的进程是需要的人,我怎么可以运行一个过程,真的会产生或使用时CPU供电另一个进程甚至自动挂起

cpu process priority nice htop

18
推荐指数
2
解决办法
2万
查看次数

磁盘 IO 优先级如何与进程优先级相关?

我运行的软件有时会使磁盘 IO 过载。我不需要那个软件的快速响应,我需要其他应用程序的快速响应,所以我可以为此设置低进程优先级。我想问一下进程优先级如何影响进程的磁盘IO优先级。

我尝试了一个小实验:我为一个进程设置了低优先级(在 GNOME 下的系统监视器中),并使用ionice.

结果:

IO priority = 0 for normal process priority   
IO priority = 4 for low process priority
Run Code Online (Sandbox Code Playgroud)

但这会一直这样吗?当我降低进程优先级时,IO 优先级是否总是降低?

linux process priority

17
推荐指数
1
解决办法
9950
查看次数

以更高的优先级运行进程

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

linux cpu io ionice priority

15
推荐指数
2
解决办法
3万
查看次数

基于用户的 GPU 优先级

我有一台运行 Linux (Kubuntu 14.04.3 LTS x64) 的计算机,我使用 CUDA 工具包在某些 Nvidia GPU 上执行一些计算。

我与其他几个用户共享计算机。如何定义每个用户对每个 GPU 的优先级?

示例:有三个用户和三个 GPU。我希望用户 1 在 GPU 1 上拥有最高优先级,用户 2 在 GPU 2 上拥有最高优先级,而用户 3 在 GPU 3 上拥有最高优先级。

priority nvidia gpu

14
推荐指数
1
解决办法
1025
查看次数