Kernel boot parameters¶
This document lists several kernel boot parameters that are useful for tuning Real-time Ubuntu.
isolcpus¶
The isolcpus
parameter isolates CPUs from the general scheduler so that they only execute specific tasks
and have a limited number of kernel threads available for execution.
This parameter accepts two types of values: flag-list and cpu-list.
When specifying a flag-list value, such as isolcpus=domain
,
CPUs are isolated from the general symmetric multiprocessing (SMP) balancing and scheduling algorithms.
Alternatively, isolcpus
accepts cpu-list value, allowing for a list of CPUs to be isolated from the rest.
For example, isolcpus=1,2,10-20
isolates CPUs 1, 2, and 10 through 20.
For further details, please refer to kernel’s command-line parameters documentation.
nohz¶
The nohz
parameter is used for enabling/disabling dynamic ticks at boot time.
Dynamic tick is a config option that enables the kernel to run without a regular time interrupt.
Enabling this parameter means kernel performs less work when idle and can potentially save power.
When nohz=on
is set, it enables dynamic ticks, enabling the kernel to function without regular timer interrupts.
Read more on kernel’s command-line parameters documentation.
kthread_cpus¶
The kthread_cpus
parameter refers to the list of CPUs specifically allocated for kernel usage.
For instance, specifying kthread_cpus=0-3
means that the kernel is allowed to run kernel threads on CPUs 0 through 3.
timer_migration¶
The timer_migration
parameter refers to an optimization technique to migrate timers from one CPU to another.
In a real-time system with multiple sockets, it is beneficial to disable this parameter to ensure that the timer will stay assigned to a core.
By setting timer_migration=0
in a multi socket machine, timer migration can be disabled.
sched_rt_runtime¶
The sched_rt_runtime
parameter refers to the duration in microseconds during which a real-time process can dominate a CPU.
Specifying sched_rt_runtime=-1
allows a process or real-time task to dominate the CPU indefinitely.