Nice is a command-line utility in Linux that allows you to set the “niceness” value of processes. It is used to start a process with a defined priority. When you start any program or process without any defined priority, nice sets a default priority of 10. A niceness of 19 is the lowest priority while -20 is the highest priority. The nice command is very useful when several processes are demanding more resources than the CPU can provide.
Renice is very similar to nice and is used to change the priority of an already running process. If your system is running very slow due to a lengthy process, you can reduce or increase the priority of that process with the help of renice command.
Priority is a value that you can assign to each process, and the kernel uses this value to schedule the execution of the process.
- 0-99 is the priority value used for real-time priority assignments.
- 100-139 is the priority value that the users assign.
In this post, we will show you how to set Linux Process Priority with Nice and renice command.
Prerequisites
- A Linux server on the Atlantic.Net Cloud Platform
- A root password configured on your server
Step 1 – Create Atlantic.Net Cloud Server
First, log in to your Atlantic.Net Cloud Server. Create a new server, choosing Ubuntu, CentOS, or Rocky Linux as the operating system with at least 2GB RAM. Connect to your Cloud Server via SSH and log in using the credentials highlighted at the top of the page.
Once you are logged in to your server, run the following command to update your base system with the latest available packages.
apt-get update -y
Or
dnf update -y
Step 2 – Display Nice Value of a Process
In Linux, when you start any process or program, it gets the default priority of 0.
You can use the ps or top command to display the priority of a running process.
To check the Nice value of the Nginx process, run the following command:
ps -fl -C nginx
You should see the priority of the Nginx process in the NI column as shown below:
F S UID PID PPID C PRI NI ADDR SZ WCHAN STIME TTY TIME CMD 5 S www-data 3156 3155 0 80 0 - 21700 - 10:33 ? 00:00:00 nginx: worker process
To display the nice value of all running processes, use the top command:
top
You should see the nice value of all processes in the NI column.
Step 3 – Change the Priority of Process with Nice Command
The nice command can not change the priority of the running process. However, you can use the nice command to start any program with pre-defined priority.
For example, start a top program with a nice value 5:
nice -5 top
This will assign the priority value of 5 to the top.
Now, open another terminal and verify the priority for the top as shown below:
ps -fl -C top
You should see the priority of the top command in the NI column:
F S UID PID PPID C PRI NI ADDR SZ WCHAN STIME TTY TIME CMD 4 S vyom 7966 7277 0 85 5 - 7323 poll_s 11:41 pts/14 00:00:00 top
You don’t need root privileges when you set a priority value higher than 0. You will need root privileges if you want to increase the priority of any process by assigning a negative value.
For example, to increase the priority of the top command to -20, use the following command:
sudo nice --20 top
Step 4 – Change the Priority of Running Process with renice Command
As you know, the nice command cannot change the priority of any running process. In this case, you will need to use the renice command to change the priority of a running process.
Here, we will use the top process, which is already running.
First, verify the current priority of the top process using the following command:
ps -fl -C top
Sample output:
F S UID PID PPID C PRI NI ADDR SZ WCHAN STIME TTY TIME CMD 4 S vyom 7966 7277 0 85 5 - 7323 poll_s 11:41 pts/14 00:00:03 top
As you can see the priority of the top process is 5.
Now, we will change the priority of the top process to -15.
First, find the PID of the top process with the following command:
pidof top
Sample output:
7966
Now, run the following command by specifying priority value and PID of top:
sudo renice -n -15 -p 7966
Sample output:
7966 (process ID) old priority 5, new priority -15
You can also change the priority of all processes owned by a specific user.
For example, change the priority of all processes owned by the root user, run:
sudo renice -n 10 -u root
Conclusion
In this guide, you learned how to set and change the priority of any process using the nice and renice command. You can now easily increase and decrease the process priority per your needs. Start using nice and renice on your VPS hosting account from Altantic.Net.