Skip to content
/ nicety Public

Process priority management daemon for Linux

License

Notifications You must be signed in to change notification settings

jcrd/nicety

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

nicety

CodeQL

nicety is a process priority management daemon for Linux that sets a process's:

  • CPU affinity
  • scheduling priority
  • I/O scheduling class and priority
  • realtime attributes

based on udev-like rules.

Packages

  • RPM package available from copr. Copr build status

    Install with:

    dnf copr enable jcrd/nicety
    dnf install nicety
    

Usage

Create rules in the /etc/nicety/rules.d directory.

Enable the systemd service with:

systemctl enable --now nicety

Rules

Rules are JSON files with the extension .rules.

Example rule /etc/nicety/rules.d/make.rules:

{ "name": "make", "nice": 19, "io_class": "idle", "sched_policy": "idle" }

Valid keys:

  • name: the name of the process command as given in /proc/<PID>/comm (required)
  • cpu_affinity: bond a process to a given set of CPUs (man page)
  • nice: alter the scheduling priority (man page)
  • io_class: set I/O scheduling class (man page)
  • io_priority: set I/O scheduling priority (man page)
  • sched_policy: set realtime scheduling policy (man page)
  • sched_priority: set realtime scheduling priority (man page)
  • delay: delay after which the above attributes are applied if the process is still running

License

This project is licensed under the MIT License (see LICENSE).