Q. How do I run a process with modified scheduling priority under Linux? I’d like to change the priority in the kernel’s scheduler while starting a command.
A. Use nice command to run a program with modified scheduling priority / nicenesses. Nicenesses range at least from -20 (resulting in the most favorable scheduling) through 19 (the least favorable). The default behavior is to increase the niceness by 10.
A niceness should not be confused with a scheduling priority, which lets applications determine the order in which threads are scheduled to run. Unlike a priority, a niceness is merely advice to the scheduler, which the scheduler is free to ignore.
nice syntax (/bin/nice command)
/bin/nice -n NUM
Add integer NUM (-20 to 19) to the niceness.
Change niceness by 3
Type the command as follows:
$ /bin/nice -n 3 command-name
Only a privileged user may run a process with lower niceness:
$ /bin/nice -n -1 command-name
Shell in build nice command syntax
If you use the csh or tcsh or bash, the syntax is as follows:
nice +n command
I recommend using /bin/nice syntax to avoid confusion and to save time.
🐧 Get the latest tutorials on Linux, Open Source & DevOps via:
- RSS feed or Weekly email newsletter
- Share on Twitter • Facebook • 12 comments... add one ↓
Category | List of Unix and Linux commands |
---|---|
File Management | cat |
Firewall | Alpine Awall • CentOS 8 • OpenSUSE • RHEL 8 • Ubuntu 16.04 • Ubuntu 18.04 • Ubuntu 20.04 |
Network Utilities | dig • host • ip • nmap |
OpenVPN | CentOS 7 • CentOS 8 • Debian 10 • Debian 8/9 • Ubuntu 18.04 • Ubuntu 20.04 |
Package Manager | apk • apt |
Processes Management | bg • chroot • cron • disown • fg • jobs • killall • kill • pidof • pstree • pwdx • time |
Searching | grep • whereis • which |
User Information | groups • id • lastcomm • last • lid/libuser-lid • logname • members • users • whoami • who • w |
WireGuard VPN | Alpine • CentOS 8 • Debian 10 • Firewall • Ubuntu 20.04 |
Can you specify one example fo nice command to run in redhat
nice is really nice !!
what a douche comment.
No, your comment is douche. Rinshad’s is just silly.
Seriously guys.. I’ve never had nice do much for my system scheduler/load wise. ionice seems to have a bit more impact for the ioscheduler.. but have you all ever really seen that much of an improvement on CPU bound processes and using nice on Linux?
Tweeks
There’s also the renice command (from bsdutils on Debian-like distros), which is potentially less confusing.
Plz give clear explanation of nice command along with example
A good example for using nice would be to use it when taring up a huge directory. If you think that is going to impact your IO and other applications running on the server, you can use nice as such
nice -n 3 tar -cvf test.tar test_dir/*
Does nice actually work? I’ve never seen much of a scheduling/priority/load change from nicing CPU hungry tasks. I have, however, heard good things about ionice for tweaking io-heavy apps. Maybe you should both nice and ionice a process that is going to hammer the CPU and IO.
Tweeks
So these are both valid?
nice -20 yum update
nice -n -20 yum update
If you look at the docs, I think the first is a built-in and the second is the system one
Thanks!