Configure kernel tick time
By default, RHEL uses a tickless kernel that does not interrupt idle CPUs, reducing power usage and enabling deep sleep states on newer processors. RHEL also provides a dynamic tickless option for latency-sensitive workloads, such as high-performance and real-time computing.
About this task
By default, the dynamic tickless option is disabled. You can use the cpu-partitioning TuneD profile to enable the dynamic tickless option for cores specified as isolated_cores.
Procedure
Results
- Once the system is rebooted, verify if
dynticksare enabled:# journalctl -xe | grep dynticksMar 15 18:34:54 rhel-server kernel: NO_HZ: Full dynticks CPUs: 1-15. - Verify that the dynamic tickless configuration is working correctly:
# perf stat -C 1 -e irq_vectors:local_timer_entry taskset -c 1 sleep 3This command measures ticks on CPU 1 while telling CPU 1 to sleep for 3 seconds. The default kernel timer configuration shows around 3100 ticks on a regular CPU:
# perf stat -C 0 -e irq_vectors:local_timer_entry taskset -c 0 sleep 3Performance counter stats for 'CPU(s) 0': 3,107 irq_vectors:local_timer_entry 3.001342790 seconds time elapsedWith the dynamic tickless kernel configured, you should see around 4 ticks instead:
# perf stat -C 1 -e irq_vectors:local_timer_entry taskset -c 1 sleep 3Performance counter stats for 'CPU(s) 1': 4 irq_vectors:local_timer_entry 3.001544078 seconds time elapsed