Skip to content
  • About
  • Courses
  • ResearchExpand
    • Research Publications
    • Books
    • Patents
    • Ph.D. Supervised
  • Workshop/Conferences
  • ToolsExpand
    • Creative Image Converter
    • Creative QRCode Generator
    • Creative QR Code Generator Tool
    • EMI Calculator
    • SIP Calculator
  • Blog
  • Resume
One Page CV

Process Priority

In Linux, process priority determines how the kernel schedules processes for CPU time. Processes with higher priority are given more CPU time, while those with lower priority may have to wait longer to be executed. The Linux kernel uses two types of priority: nice value and real-time priority.

1. Nice Value (User-space priority)

  • Range: The nice value ranges from -20 (highest priority) to 19 (lowest priority). By default, a process starts with a nice value of 0.
  • Effect: A lower nice value means higher priority. For example, a process with a nice value of -10 has a higher priority than a process with a nice value of 10.
  • Usage:

Set nice value: You can set the nice value when starting a process using the nice command.

nice -n 10 command_name
nice -n 10 process_id

Change nice value: After a process has started, you can change its nice value using the renice command.

renice -n 5 -p process_id

2. Real-time Priority

  • Range: Real-time priorities range from 0 (lowest) to 99 (highest). Only processes with real-time scheduling policies can have real-time priority.
  • Scheduling Policies:
    • SCHED_FIFO (First In, First Out): Processes are scheduled in the order they become runnable. Once a process starts running, it won’t stop until it finishes, blocks, or is preempted by a higher-priority process.
    • SCHED_RR (Round Robin): Similar to SCHED_FIFO, but with time slices. Processes share the CPU time fairly.
    • SCHED_OTHER: The default Linux scheduling policy, used for normal tasks.
  • Usage: You can set real-time priority using the chrt command.bashCopy codechrt -f -p 50 process_id

3. Checking Process Priority

  • To view the priority of running processes, you can use commands like top or ps.bashCopy codetop ps -eo pid,ni,pri,cmd

4. Impact of Priority

  • Higher Priority: A process with a higher priority (lower nice value or higher real-time priority) will get more CPU time.
  • Lower Priority: A process with a lower priority (higher nice value or lower real-time priority) may have to wait longer for CPU time, especially if there are higher-priority processes running.

Example Commands:

  • Start a process with a lower priority:bashCopy codenice -n 10 ./your_script.sh
  • Increase the priority of an existing process:bashCopy coderenice -n -5 -p 1234
  • Set real-time scheduling policy for a process:bashCopy codechrt -f -p 75 1234

Key Points:

  • Nice values affect the relative priority of processes in the system.
  • Real-time priorities are used for time-critical tasks.
  • Use nice and renice for user-space priorities and chrt for real-time scheduling.

In this lesson, we will learn how to manage process priority.

Viewing Process Priority with nice

The nice command is used to set or adjust the priority of a process.

nice -n priority command
  • Replace priority with a value from -20 to 19.

Modifying Process Priority with renice

The renice command allows you to change the priority of a running process.

renice priority -p PID
  • Replace priority with a value from -20 to 19.
  • Replace PID with the process ID.

Remember, managing processes is a crucial aspect of Linux system administration. Understanding how to monitor, terminate, and adjust process priorities will help maintain a stable and efficient system.

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Nishant Munjal

Coding Humanity’s Future </>


Facebook Twitter Linkedin YouTube Github Email

Tools

  • SIP Calculator
  • EMI Calculator
  • Creative QR Code
  • Image Converter

Resources

  • Blog
  • Contact
  • Refund and Returns

Legal

  • Disclaimer
  • Privacy Policy
  • Terms and Conditions

© 2025 - All Rights Reserved

  • About
  • Courses
  • Research
    • Research Publications
    • Books
    • Patents
    • Ph.D. Supervised
  • Workshop/Conferences
  • Tools
    • Creative Image Converter
    • Creative QRCode Generator
    • Creative QR Code Generator Tool
    • EMI Calculator
    • SIP Calculator
  • Blog
  • Resume
Download CV
We use cookies to ensure that we give you the best experience on our website. If you continue to use this site we will assume that you are happy with it.