更改正在运行的进程的 niceness(优先级)

Ada*_*tan 91 process-priority nice

是否可以nice使用已知 ID设置正在运行的进程的新级别?

此操作是否需要 root 访问权限,或者只是进程的所有者?

Mar*_*ppi 85

终端

如果你在终端,你可以使用 renice

renice [-n] priority [[-p] pid ...] [[-g] pgrp ...] [[-u] user ...]
Run Code Online (Sandbox Code Playgroud)

一个简单的例子是

renice 8 31043
31043: old priority 5, new priority 8
Run Code Online (Sandbox Code Playgroud)

您也可以传递硬标志,但它遵循该顺序(您必须先传递优先级,然后是 pid - 如果更改顺序,它将显示使用消息)

renice -n 5 -p 31043
31043: old priority 8, new priority 5
Run Code Online (Sandbox Code Playgroud)

优先级的工作范围-2019- 数字越小,它在系统上的优先级就越高。

如果您拥有该进程,那么您将不需要 root - 但是,如果该进程由另一个用户拥有,或者如果您计划更改进程 root 的组/用户(通过sudo),则将需要。

  • 作为用户,您不能降低友善度。:) (13认同)
  • 正如@htorque 所说,非`root` 用户只能增加niceness——他们不能降低niceness,甚至不能降低进程的niceness 水平,甚至不能降低他们自己的niceness 以前的niceness 水平。 d 过程下来。我建议编辑此答案以包含该信息。 (7认同)
  • 将进程优先级设为 -20 有什么缺点吗? (3认同)
  • @JamesWatkins 你可以停止你的电脑 (2认同)

Rin*_*ind 35

图形用户界面

  • Alt+F2并输入sudo gnome-system-monitor

11.04 之前:系统 > 管理 > 系统监视器。选择进程。
在 11.04 中:Alt+A并搜索system monitor.

id 显示在此处的图像中:

在此处输入图片说明

如果您拥有任务,nice 不需要 sudo 来增加友好度。如果您需要降低友好度,它会这样做。


Phi*_*oud 12

使用以下命令启动命令nice

nice -n 19 your_command
Run Code Online (Sandbox Code Playgroud)

Renice工艺:

renice 19 $(pidof your_command_name_like_for_ex_ffmpeg)
Run Code Online (Sandbox Code Playgroud)

优先级可能介于 -20 和 19 之间。19 是最低优先级。


小智 8

终端中“renice”的用法如下:

Usage:
 renice [-n] <priority> [-p] <pid> [<pid>  ...]
 renice [-n] <priority> [-g] <pgrp> [<pgrp> ...]
 renice [-n] <priority> [-u] <user> [<user> ...]

Options:
 -g, --pgrp <id>        interpret as process group ID
 -h, --help             print help
 -n, --priority <num>   set the nice increment value
 -p, --pid <id>         force to be interpreted as process ID
 -u, --user <name|id>   interpret as username or user ID
 -v, --version          print version
Run Code Online (Sandbox Code Playgroud)

在命令“renice”之前使用“sudo”将用户提升到 root 级别,并且需要管理员/root 密码。

因此,例如,如果您想将 PID(进程 ID)2606 的进程从正常优先级提升到优先级,您可以按如下方式输入终端:

sudo renice -n -5 -p 2606
Run Code Online (Sandbox Code Playgroud)


小智 5

您还可以在 top 中重新启动一个进程。

  1. 开始顶部

    $ top
    
    Run Code Online (Sandbox Code Playgroud)
  2. 雷尼斯按r。系统将提示您输入要重新注册的进程的进程 ID (PID)。默认 PID 是第一个进程(消耗最多资源的进程)。按 Enter 确认。将新的 Nice 值设置为从 -20(较高优先级)到 +19(较低优先级)。

    截屏