Assigning the priority of services during the boot process
Posted by vostorga - 10/03/21 at 11:03:06 amLinux provides the following choices for Process Scheduling:
- SCHED_FIFO: Static Priority scheduling
- SCHED_RR: round-robin variant of the
SCHED_FIFO
- SCHED_OTHER: default scheduling policy which uses the Completely Fair Scheduler (CFS)
- SCHED_BATCH: for “batch” style execution of processes
- SCHED_IDLE: for running very low priority background jobs
Usually to check and assign policies we use the chrt command, for example:
Checking Current policy of PID 1012:
# chrt -p 1012
pid 1012's current scheduling policy: SCHED_OTHER
pid 1012's current scheduling priority: 0
Assigning Policy FIFO with priority 50 to PID 1012:
#chrt -fifo -p 50 1-12 # chrt -p 1012
pid 1012's current scheduling policy: SCHED_FIFO
pid 1012's current scheduling priority: 50
But if we want a service to always have the same Scheduling policy, we may modify systemd service file as follows:
[Service]
....
CPUSchedulingPolicy=fifo
CPUSchedulingPriority=50
Then reloading daemon (systemctl daemon-reload) and restarting service will show our service with new scheduling.
Powered by WordPress with GimpStyle Theme design by Horacio Bella.
Entries and comments feeds.
Valid XHTML and CSS.