For When You Can't Have The Real Thing
[ start | index | login ]
start > VMware > CentOS Kernels

CentOS Kernels

Created by dave. Last edited by dave, 13 years and 264 days ago. Viewed 7,811 times. #2
[diff] [history] [edit] [rdf]

Update, August 2010

Note that allegedly this is all more or less depreciated. Kernels later than those provided in 5.2 have more vm-aware stuff in them; therefore there's less a requirement to mess around with this. I have found that CentOS 5 VMs based on 5.4 or later only lose time if the VM host is overloaded somehow. For "routine" virtualization, there shouldn't be any problems running NTP with a stock installation.

VMware-provided kernels




In 2.4 kernels the system timer was normally clocked at 100 Hz, while in 2.6 the default system timer is set to 1000 Hz (some other distros are not following these "rules", and USER_HZ is still 100). 1000 Hz is definately a good thing for desktop computers requiring fast interactive responses, but there are environments where this causes bad side effects.

Kernels compiled for SMP the system timer will requests twice as many interrupts when running on a single cpu and 2.5 as many when running on a dual cpu system.

One might argue that the smp kernels has better threading than unicpu kernels, but there are other negative effects involved by using these kernels on unicpu systems.

Some cpus can't keep up with this interrupt rate, and the 2.6 kernel has code to detect this, but it can't always correct for lost ticks, and having the interrupt rate this high is also affecting the performance negatively. The negative effects of this has been experienced in virtual environments using VMware products (ESX, Server, Workstation, Fusion, Ace & Player), but is also a potential problem on physical systems running on slow cpus such as the Geode, even though the clock issues aren as bad on physical systems because detecting lost ticks are more predictable in a physical system than a virtual system.

In a virtual environment, a key indicator that these systems are not properly setup is if you have an idle guest system (indicated by tools inside the guest) while the host reports that this guest is using a lot of cpu (typically 20-30%). Another indicator is that the clock inside the guest is not keeping up with time. On newer cpu's these effects are not as visible as on old cpus (for example a Pentium 3 500-1000MHz), but also on newer cpus you will not be able to scale as well due to these issues, resulting in fewer guests systems per server host.

It would be a great benefit if a 100Hz unicpu kernel was made available in one of the CentOS repositories. There is already a 100 Hz kernel repository available (>>, [^] but it only contains SMP kernels.

no comments | post comment
This is a collection of techical information, much of it learned the hard way. Consider it a lab book or a /info directory. I doubt much of it will be of use to anyone else.

Useful: | Copyright 2000-2002 Matthias L. Jugel and Stephan J. Schmidt