Linked by Ben Hughes on Tue 5th Oct 2004 19:16 UTC
Linux GNU/Linux, and all other operating systems, are based around a kernel which controls hardware access and maximizes CPU and RAM efficiency by controlling when and how much programs get to use. The difference between Linux and most other operating systems (closed source ones at least BSD and other open source OS's you can do this with) is that you can compile the kernel to meet your needs.
Permalink for comment
To read all comments associated with this story, please click here.
@blixel
by hac on Wed 6th Oct 2004 15:56 UTC

Making changes isn't optimization. Changing compiler flags isn't optimization. Disabling options isn't optimization.

Optimization depends on measuring the effects of change. If you don't measure, then don't bother. Stay with the defaults.

I've compiled the Debian version of the 2.6.8 kernel, with defaults, on an Athlon XP. Here are the uncompressed kernel sizes with and without SysV IPC:

3434900 vmlinux_SysV_IPC
3412106 vmlinux_No_SysV_IPC

Disabling SysV IPC saves 22794 bytes. Actual memory usage when running may be larger, due to allocation of buffers and such. If I cared, I'd reboot and measure it. But I highly doubt that the difference would be significant on a system with 1GiB of RAM.

If I were trying to squeeze a rescue kernel onto a floppy, then it might be worth seeing what I could leave out. For routine use, the standard kernel has already been optimized. You will see better results if you focus on other areas, such as applications or graphic card improvements.