Is it possible to set a new
nice level of a running process with a known id?
Does this operation require root access, or just being the owner of the process?
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It only takes a minute to sign up.Sign up to join this community
If you're at a terminal you can use
renice [-n] priority [[-p] pid ...] [[-g] pgrp ...] [[-u] user ...]
A simple example would be
renice 8 31043 31043: old priority 5, new priority 8
You can also pass it hard flags, but it follows that order (you have to pass priority first and then the pid - if you change the order it will show the usage messagge)
renice -n 5 -p 31043 31043: old priority 8, new priority 5
Priorities work on a scale of
19 - The lower the number, the higher it's priority on the system.
If you own the process then you won't need root - however, if the process is owned by another user or if you plan on changing the group/user of the process root (via
sudo) will be required.
Prior to 11.04: System > Administration > System Monitor. Choose Processes.
In 11.04: Alt+A and search for
The id's are shown in the image here:
And nice does not require sudo for increasing niceness if you own the task. It does if you need to decrease niceness.
Usage of "renice" in terminal is as follows:
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
Using "sudo" before command "renice" elevates user to root level and an admin/root password will be required.
So e.g. if you want to elevate process with PID (process ID) 2606 from Normal priority to High priority, you would type in terminal as follows:
sudo renice -n -5 -p 2606
You can also renice a process within top.
You can add capability
CAP_SYS_NICE to user using Linux capabilities system if you don't want to grant full root access to user/script.
Unfortunately, it still allows to renice arbitrary process, including those owned by different users.