📜  Linux 中的进程优先级 |不错的价值

📅  最后修改于: 2022-05-13 01:57:32.989000             🧑  作者: Mango

Linux 中的进程优先级 |不错的价值

程序的运行实例是进程,每个进程都需要RAM空间和CPU时间来执行,每个进程都有自己的优先级执行。

现在观察下图并查看列NI

top

输出:

顶部命令输出

列 NI 表示一个过程的好值。它的值范围从 -20 到 20(在大多数类似 unix 的操作系统上)。

-20                         20
most priority           least priority    
  process                  process

需要注意的一件重要事情是,nice 值仅控制分配给进程的 CPU 时间,而不控制内存和 I/O 设备的利用率。



nice 和 renice 命令
nice 命令用于启动具有指定 nice 值的进程,renice 命令用于更改正在运行的进程的优先级。

nice 命令的用法:
现在让我们假设系统只有 1GB 的 RAM 并且它的工作速度非常慢,即在其上运行的程序(进程)没有快速响应,在这种情况下,如果您想杀死某些进程,则需要启动终端, 如果您正常启动 bash shell,它也会产生延迟,但是您可以通过启动具有高优先级的 bash shell 来避免这种情况。

例如:

nice -n -5 bash

首先观察 top 的输出,而不在下图中设置任何进程的 nice 值

top 的好值是 0

现在启动一个带有 nice 值 -5 的 bash shell,如果您看到突出显示的行,则在 bash shell 上运行的 top 命令的 nice 值设置为 -5

bash shell 的不错值是 -5

renice 命令的用法:
为了改变正在运行的进程的优先级,我们使用 renice 命令。

renice value PID

值是要分配的新优先级
PID是要改变优先级的进程的PID

需要注意的一件事是,您不能在没有 root 权限的情况下为任何进程设置高优先级,尽管任何普通用户都可以将高优先级设置为进程的低优先级。

我们将看到一个关于如何更改进程优先级的示例。

gnome 终端的好值是 0

你可以观察到进程(PID = 2371)的nice值为0,现在让我们尝试为这个进程设置新的优先级5。

renice 5 2371

输出:

2371 (process ID) old priority 0, new priority 5

您还可以使用 top 命令查看此优先级(请参阅图像中突出显示的行)。

进程 2371 有很好的价值 5