77

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?

72

Terminal

If you're at a terminal you can use renice

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 -20 to 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.

  • 11
    You cannot decrease niceness as user. :) – htorque Jun 14 '11 at 13:05
  • 4
    As @htorque says, a non-root user can only increase niceness--they cannot decrease niceness, not even to a previous level of niceness the process had, and not even to a previous level of niceness they had themselves reniced the process down from. I recommend editing this answer to incorporate that information. – Eliah Kagan Oct 14 '12 at 14:35
  • 1
    Is there any downside to making a process priority -20? – James Watkins Jun 4 '16 at 4:03
  • 2
    @JamesWatkins You could stall your computer – DarthRubik Jul 24 '16 at 1:18
33

GUI

  • Alt+F2 and type sudo gnome-system-monitor

Prior to 11.04: System > Administration > System Monitor. Choose Processes.
In 11.04: Alt+A and search for system monitor.

The id's are shown in the image here:

enter image description here

And nice does not require sudo for increasing niceness if you own the task. It does if you need to decrease niceness.

10

Start a command with nice prio

nice -n 19 your_command

Renice process

renice 19 $(pidof your_command_name_like_for_ex_ffmpeg)

19

between -20 and 19

19 is lowest priority

8

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
3

You can also renice a process within top.

1) Start top

$ top

2) renice by pressing r. You will be prompted for the Process ID (PID) of the process you wish to renice. The default PID is the first process (one consuming the most resources). Confirm with Enter. Set the new nice value from -20 (higher priority) to +19 (lower priority).

enter image description here

1

htop

  1. Start htop
  2. Renice with F7/F8 (if you are inside Byobu temporary disable shortcuts with Shift + F12). Keep in mind you need root privileges to reduce niceness.

    screenhot

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.