Atlantic.Net Blog

How to Set Linux Process Priority Using nice and renice Commands

Hitesh Jethva
by Atlantic.Net (299 posts) under Tutorials, VPS Hosting
0 Comments

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.

Get A Free To Use Cloud VPS

Free Tier Includes:
G3.2GB Cloud VPS Free to Use for One Year
50 GB of Block Storage Free to Use for One Year
50 GB of Snapshots Free to Use for One Year


Looking for a Hosting Solution?

We Provide Cloud, Dedicated, & Colocation.

  • Seven Global Data Center Locations.
  • Flexible Private, Public, & Hybrid Hosting.
  • 24x7x365 Security, Support, & Monitoring.
Contact Us Now! Med Tech Award FTC
SOC Audit HIPAA Audit HITECH Audit

Recent Posts

What Digital Transformations Are Coming to Healthcare?
Rocky Linux Cloud VPS Hosting Is Now Available at All Seven Data Center Locations!
Top 10 Database Offerings
Should You Choose an AMD or Intel-Based Dedicated Server?
Post-Pandemic: Top Cybersecurity Threats to Healthcare Security

Get started with 12 months of free cloud VPS hosting

Free Tier includes:
G3.2GB Cloud VPS Server Free to Use for One Year
50 GB of Block Storage Free to Use for One Year
50 GB of Snapshots Free to Use for One Year


New York, NY

100 Delawanna Ave, Suite 1

Clifton, NJ 07014

United States

San Francisco, CA

2820 Northwestern Pkwy,

Santa Clara, CA 95051

United States

Dallas, TX

2323 Bryan Street,

Dallas, Texas 75201

United States

Ashburn, VA

1807 Michael Faraday Ct,

Reston, VA 20190

United States

Orlando, FL

440 W Kennedy Blvd, Suite 3

Orlando, FL 32810

United States

Toronto, Canada

20 Pullman Ct, Scarborough,

Ontario M1X 1E4

Canada

London, UK

14 Liverpool Road, Slough,

Berkshire SL1 4QZ

United Kingdom

Resources