Set CPU to fully tickless?
Yes, that's correct. To use the NOHZ_FULL
feature, you need a Linux kernel with the CONFIG_NO_HZ_FULL
option enabled. You can then specify the nohz_full
parameter when booting the kernel to designate the CPU cores that should be fully tickless.
Here are the steps to enable NOHZ_FULL
on your system:
- Check if your current kernel has
CONFIG_NO_HZ_FULL
enabled:
grep CONFIG_NO_HZ_FULL /boot/config-$(uname -r)
If the output shows CONFIG_NO_HZ_FULL=y
, your kernel has NOHZ_FULL
support. If not, you may need to compile a custom kernel with this option enabled.
- Edit the kernel boot parameters:
You can set the nohz_full
parameter in the GRUB configuration file. Open the file with a text editor:
sudo nano /etc/default/grub
Find the line that starts with GRUB_CMDLINE_LINUX_DEFAULT
and add the nohz_full
parameter along with the desired CPU core numbers. For example, to make cores 1, 2, and 3 fully tickless, you would add nohz_full=1-3
. The line should look like:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nohz_full=1-3"
Save the file and exit the editor.
- Update the GRUB configuration:
Update the GRUB configuration to apply the changes:
sudo update-grub
- Reboot your system:
Reboot your system to load the new kernel parameters:
sudo reboot
- Verify that
NOHZ_FULL
is active:
After the system reboots, check the kernel boot parameters to verify that NOHZ_FULL
is active:
cat /proc/cmdline
The output should show the nohz_full
parameter with the CPU core numbers you specified.
Keep in mind that the impact of NOHZ_FULL
on your system's performance depends on various factors, including your hardware, software, and workload. Be sure to test and evaluate the performance improvements and potential trade-offs when using NOHZ_FULL
.