怎样在 Linux 中使用 nice 和 renice 更改进程优先级

Linux 允许您在一台机器上运行大量进程而不会跳过一个节拍。 有时,一个密集的过程会减慢您的系统速度。 如果有一种方法可以在您继续执行其他任务时以某种方式将其置于次要位置,那不是很好吗? 您可以使用名为 nice 的实用程序。

善待进程

Nice 是一个内置于 Linux 和 Unix 系统的实用程序,可以降低进程的 CPU 优先级。 这个实用程序是 Unix 在多用户小型机和大型机上运行的时代的产物,但今天它在单用户桌面上运行仍然很有用。

您可能正在玩游戏并遇到延迟,因为某些您知道需要很长时间才能获得输出的密集过程,例如 Torrent 客户端。 只需将其重新分配给后台并继续播放。

Nice 要么是一个独立的程序,要么是内置于 shell 中。 要确定您的系统是哪种情况,请键入:

which nice

在 Ubuntu 上,nice 安装的版本是 GNU版本.

Nice 使用“nice number”的概念,这是任何进程的进程优先级。 在 GNU 版本上,它的范围从 19 到 -20。 负数给予进程更多的优先权,而正数给予较少的优先权。 你可以看到这个不错的数字 实用程序中的列,例如 最佳 或者 .

要运行优先级较低的进程,请使用以下命令:

nice processname

代替 进程名 与您要运行的进程。 默认情况下,nice 将分配 nice 数为 10。任何正常启动的进程将默认为 0。

如果你想要一个特定的数字,在这种情况下,绝对最小优先级,使用 -n 带有您想要的好号码的选项:

nice -n 19 processname

使用 renice 更改进程优先级

现在您可以以降低的优先级启动命令,但是怎样更改正在运行的进程的优先级呢? 您也可以使用另一个实用程序 renice 来做到这一点。

您将需要要更改的进程的 PID 或进程 ID。 您可以通过使用 ps 命令、top 或 htop 找到它。 一旦你找到了,你只需要将它提供给 renice 命令。

要为您的 PID 设置一个新的好数字,请键入:

renice priority PID

…在哪里 优先事项 是您要使用的好数字。

-n flag 通过您提到的增量更改进程优先级,无论是正数还是负数,因此如果您有一个进程为 10 并且您想将其更改为 8,请键入:

sudo renice -n -2 PID

只有超级用户才能重新处理属于另一个用户的进程或增加进程的优先级。 您可以使用 -u 开关后跟 用户名 调整任何用户的优先级:

renice priority -u username

现在您可以更改流程优先级以获得最佳性能

使用 nice 和 renice,您可以更改 Linux 中任何进程的优先级。 当繁重的进程占用了大量系统资源时,这肯定会对您有所帮助。 此外,使用 Stacer 等监控工具优化系统性能也会有所帮助。

相关阅读:

Posted in: LinuxTags: