Now that we have had our server working well following our previous instructions, it is now time to tweak some more. Actually, many folks probably thinks this is more thank a tweak and really a necessity. I’d agree with that. Why? Well you just purchased a dual, quad core Xeon server to be fast. Fast is alot of things but certainly processing power is one of those key pieces.
Go to the shell prompt on your server and run the following command:
cat /proc/cpuinfo | grep ‘^processor’ | wc -l
Now, what number did you get back. Was it 1? Well the number you get back from that command is the number or processors the system currently sees. Yes, that’s right. In our example here, our server was only seeing a single core out of a possibility of 8 (dual, quad core, xeon processors). So you’re telling me that we are wasting 7/8 of our processing power? Essentially, YES!
Well don’t fear. There is a relatively simple way to fix this. Now, there are a few caveats but we’ll show you how we did it.
NOTE: If you compiled any source for any applications since your initial installation of Ubuntu, be prepared to re-compile. We are about to change the kernel and therefore your going to need to recompile against that new kernel.
From a shell prompt we need to be sure our repository information is up to date so…:
sudo apt-get update
Next, let’s get the 686 package which will allow our system to see more than the single processor as it does in the 386 version.
sudo apt-get install linux-686
Great! That was easy. You may have noticed that the installation made changes to the /boot/grub/menu.lst file. If you recalled from our previous article, this is the file that defines how grub will boot your system. With Ubuntu 6.06Server LTS and the PERC5/i controller in our box we had to make some modifications to that menu.lst file before. Well, unfortunately our work was just overwritten by the installation of the linux-686 package.
No problem, we’ll just update it again.
sudo vi /boot/grub/menu.lst
Now in this file towards the bottom are the boot menu options just like before. Change to "root" entries from something like hd(4,0) to hd(0,0). You are just changing that 4 to a 0 in each of the 4-6 menu option entries.
Next, the 686 kernel seems to correct the issue of how the raid array is detected and therefore named. Still in the menu.lst file, find the "kernel" entries for each menu option. Notice that there is something like root=/dev/sde1 in the line. Well, now the array is seen as sda not sde. So change all the sde1 pieces to sda1.
/boot/vmlinuz-2.6.15-29-686 root=/dev/sde1 ro quiet splash
is changed to
/boot/vmlinuz-2.6.15-29-686 root=/dev/sda1 ro quiet splash
Be sure you make those changes to all the entrie and then save your work.
Now all you have to do is reboot the server, but, be sure to do it form the console because you won’t have network connectivity when you reboot if you are on a Dell Poweredge 2950 like we are.
sudo shutdown -r now
Okay, after the reboot, log into your server at the console.
sudo /etc/init.d/networking restart
This should get your networking going again. There is an issue with the bnx2 / Broadcom driver in the 686 kernel that is odd but a simple restart of networking resolves the issue. This is how we came up with this temporary workaround until we find the real solution.
sudo vi /etc/init.d/rc
Now in this rc file, near the end add the following line which will force the networking restart after reboot.
# temporary resolution to networking issue under 686 kernel
/etc/init.d/networking restart
Then save your file.
That’s it. Now try that processor count again. Hmmmm…. we actually see 8 processors now. Now we are being good stewards of what has been provided.
Popularity: 5% [?]
Yesterday we finished the installation of a new server. There has