yes, you need to recompile the kernel and choose the 1000hz timer instead of the stock 250hz.
i am also running centos 4.3 and followed the instructions here:
http://www.webhostingtalk.com/showthread.php?t=489019 (it is about the 6th post down) the process takes maybe 30min or so, most of the time waiting in the 3 make commands following the options.
Code:
cd /usr/src/
http://www.kernel.org/pub/linux/kern....6.16.1.tar.gz
tar -zxf linux-2.6.16.1.tar.gz
cd linux-2.6.16.1
cp /boot/config-2.6.9-22.0.2.EL .config
make clean (only necessary if you compile more than once)
make oldconfig
****somewhere in the following section is the kernel timer selection, make sure you choose the 1000hz option instead of the default 250hz****
keep hitting enter and take the defaults until you get to the CPU type. Select your CPU. Also in the SMP section select SMP if you have multiple CPUs. Oh, and select "(No Forced Preemption (server))" under that section. Everything else, just hit enter to take the defaults.
(this is the "quick and dirty" method. You can also run "make menuconfig" instead, go to the bottom of the menu, load your old config file, and then select everything in a menu individually if you wish. For most systems, the "make oldconfig" method works fine.)
Then to compile and install:
make bzImage
make modules
make modules_install
make install
Then to configure your boot loader in case of disaster:
nano /boot/grub/grub.conf
Code:
default=1 timeout=5 splashimage=(hd0,0)/grub/splash.xpm.gz hiddenmenu title CentOS (2.6.16.1) root (hd0,0) kernel /vmlinuz-2.6.16.1 ro root=/dev/VolGroup00/LogVol00 initrd /initrd-2.6.16.1.img title CentOS (2.6.9-22.0.2.EL) root (hd0,0) kernel /vmlinuz-2.6.9-22.0.2.EL ro root=/dev/VolGroup00/LogVol00 initrd /initrd-2.6.9-22.0.2.EL.img title CentOS_ServerCD (2.6.9-22.EL) root (hd0,0) kernel /vmlinuz-2.6.9-22.EL ro root=/dev/VolGroup00/LogVol00 initrd /initrd-2.6.9-22.EL.img
..make sure it looks something like this with default=1 and the new kernel (2.6.16.1) on top. (Grub starts at 0, so "default=1" is still your old kernel. You change this later if it works out ok)
..then configure grub to boot to the new kernel one time. This way if it panicks or you can't get to the machine because the network service blows up, you can have the data center do a reboot and it will default back to the last kernel. If it does boot ok and everything looks good, edit grub.conf again and change it to "default=0" and it will boot the new kernel by default after that.
grub
savedefault --default=0 --once
quit
Reboot and see what happens. If it hangs, reboot again and you'll be back to your previous kernel.
Good luck.
it's not as hard as it sounds, of course this guide is a bit older now so when you go to
http://www.kernel.org there will be newer ones, i believe 2.6.17.8 is the newest stable one.
naturally, if you jack up your server don't blame me but i've done quite a few using the above instructions without any issues.