问题描述
是否有可能使用已知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
优先级按照-20
到19
的规模工作 – 数字越小,系统的优先级越高。
如果您拥有该流程,那么您将不需要root权限 – 但是,如果该流程由另一个用户拥有,或者如果您计划更改流程根(通过sudo
)的组/用户,则将需要。
次佳解决办法
GUI
-
Alt
+F2
和sudo gnome-system-monitor
类型
在11.04之前:系统>管理>系统监视器。选择进程。在11.04中:Alt
+ A
并搜索system monitor
。
这些图像显示在这里:
如果你拥有这项任务,好的并不需要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(较低优先级)。