Ubuntu Server: Kernel Comparisons and Implementation Issues

We didn't quite finish up our server kernel vs. desktop kernel comparison, so today we'll wrap that up, plus we'll dig into the included services in Ubuntu Server, amaze at a couple of interesting blunders, and decide what this thing is good for — fueling the tireless Canonical hype machine, or something actually useful?

CPU Families

The server kernel uses CONFIG_M686=y, and the desktop kernel gets CONFIG_M586=y. This means that the server kernel is optimized for Pentium Pro instruction sets, and the desktop kernel for the entire 586 and 686 CPU families. This isn't hugely significant, as even a generic 486 kernel will run on modern computers. If you're into compiling your own kernels, the one change you can make that might actually improve performance is to choose the CPU option that matches your own CPU. That way you'll get full support for the instruction set for your CPU.