How to Disable High-Resolution Timer in CentOS/RHEL 6
This post introduces how to disable high-resolution timer configured in Linux kernel internally.
To disable high-resolution timer, add “highres=off” into kernel parameter, ex. into “kernel” line in /boot/grub/grub.conf as:
title Oracle Linux Server Unbreakable Enterprise Kernel (3.8.13-68.3.4.el6uek.x86_64)
root (hd0,0)
kernel /vmlinuz-3.8.13-68.3.4.el6uek.x86_64 ro root=/dev/mapper/vg_-lv_root rd_NO_LUKS rd_LVM_LV=vg_/lv_root LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=auto KEYBOARDTYPE=pc KEYTABLE=jp106 rd_LVM_LV=vg_/lv_swap rd_NO_DM rhgb quiet highres=off
initrd /initramfs-3.8.13-68.3.4.el6uek.x86_64.img
and reboot the system.
# shutdown -r now
After rebooting the system, it can be confirmed whether highres is disabled by checking whether “highres=off” is included in /proc/cmdline. Note that kernel does not prepare methods/interfaces checking high-resolution timer is enabled/disabled, thus it is necessary to confirm it by checking the file.
The high-resolution timer is not present in CentOS/RHEL 5. By default, highres=on as it is configured in kernel booting procedures. Linux kernel can handle internal time-slice within nanosecond with enabling high-resolution timer. By disabling this feature, the kernel will handle the slice within a millisecond, it would not be any issues unless your applications need internal time-slice should be nanosecond order.