Nice 和 Renice – 设置流程优先级 Linux

进程优先级是直接影响进程调度优先级的优先级。 所有与进程和进程优先级相关的数据都存储在内核中。 这些优先级可以手动定义并分配一个范围值。

内核首先加载并执行具有较高优先级的进程,而不是具有较低优先级的进程。 这样的优先级可以通过 nice 和 renice 命令来设置 Linux.

不错的命令

Nice 用于设置优先级值,以便进程可以相应地执行。 nice 的值设置为 -20 作为优先级值的较高数量,19 作为优先级值的最低数量。 所以优先级高的进程可以先执行。

让我们用 htop 的 nice 值检查优先级状态。 您可以按如下方式运行命令。

$ ps -el | grep htop

你可以看到 htop 的 nice 值现在是 0。 您还可以使用“top”或“htop”命令查看这些统计信息 Linux. 要更改 nice 值,您可以按照以下命令更改 nice 值。

$ nice -19 htop

现在使用以下命令检查 htop 的 nice 值。

$ ps -el | grep htop

此外,运行命令 htop 将显示结果,如下面的屏幕截图所示。

但是,当你想设置更高的优先级时,你必须运行命令 sudo 特权用户。 在这里,当我们尝试为更高的优先级设置一个 nice 值时,显示权限被拒绝。 但是使用 sudo 成功执行命令。 有关更多详细信息,请参见下面的屏幕截图。

$ sudo nice --5 htop

通过运行显示结果的 htop 命令进行检查,如下面的屏幕截图所示。

仁尼斯司令部

一个 nice 命令用于为任何进程设置更高或更低的优先级。 但是 renice 用于为正在运行的进程设置更高或更低的优先级。 它可以在不停止进程的情况下设置优先级。

使用 ps 命令,您可以获得所需进程的 pid。 对特定进程使用 grep。 在我们的例子中,我们正在为 htop 进程的 pid 执行 ps 命令。 有关更多详细信息,请参见下面的屏幕截图。

$ ps -el | grep htop

使用上面的命令,您已经注意到 pid,它是 htop 进程的一个很好的值。 现在有了这些细节,我们可以使用 renice 命令按照以下命令更改正在运行的进程的优先级。

$ renice -n 10 -p 2257

在这里,具有相同 PID 的正在运行的进程具有由 renice 命令为进程 htop 设置的新优先级 10。 因此,您可以使用带有正在运行进程的 pid 的 renice 命令轻松更改优先级。

结论

如果您需要为特定进程设置这样的优先级以便内核加载和执行具有正确管理 CPU 资源的进程,这些 nice 和 renice 就派上用场了。 谢谢你!