当前位置: 首页>>技术教程>>正文


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

, ,

问题描述

是否有可能使用已知ID为运行中的进程设置新的nice级别?

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

最佳解决办法

Terminal

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

renice [-n] priority [[-p] pid ...] [[-g] pgrp ...] [[-u] user ...]

一个简单的例子是

renice 8 31043
31043: old priority 5, new priority 8

你也可以传递硬标志,但是它遵循这个顺序(你必须首先传递优先级,然后是pid – 如果你改变顺序,它会显示使用消息)

renice -n 5 -p 31043
31043: old priority 8, new priority 5

优先级按照-2019的规模工作 – 数字越小,系统的优先级越高。

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

次佳解决办法

GUI

  • Alt + F2sudo gnome-system-monitor类型

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

这些图像显示在这里:

process-priority,nice,ubuntu

如果你拥有这项任务,好的并不需要sudo来增加美好。它的确如果你需要减少漂亮。

第三种解决办法

用很好的prio开始一个命令

nice -n 20 your_command

Renice进程

renice 20 $(pidof your_command_name_like_for_ex_ffmpeg)

20

在-20和20之间

20是最低优先级

第四种办法

“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

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

所以例如如果您希望将PID(进程ID)2606的进程从正常优先级提升为高优先级,那么您将按如下所示键入终端:

sudo renice -n -5 -p 2606

第五种办法

您也可以在顶部重新渲染一个进程。

1)从头开始

$ top

2)按r renice。系统会提示您输入您想要修改的进程的进程ID(PID)。默认PID是第一个进程(占用资源最多的进程)。按回车确认。将新的好值从-20(较高优先级)设置为+19(较低优先级)。

process-priority,nice,ubuntu

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/969.html,未经允许,请勿转载。