Sign up ×
Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

could please anybody recommend some kind of kconfig generator that would trim modules and built-in stuff that is not needed according to current hardware ?

The best I have found is this :

I don't care about compilation time and the amount of modules that are not built-in. I'm concerned about performance. I don't know how much memory and runtime is wasted on huge kernels with almost everything possible.

I'm a java developer and I don't know what most of the modules and drivers are for. So there is not much I can disable and be sure that I don't screw it up.

Thanks in advance

share|improve this question

closed as off-topic by Michael Hampton Jul 31 '14 at 20:10

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "Questions must be relevant to professional system administration. Server Fault is dedicated to professional system and network administrators. End user and enthusiast questions are off-topic (contact your system administrator or hire a professional to help you out). Please see the Help Center for more information." – Michael Hampton
If this question can be reworded to fit the rules in the help center, please edit the question.

In a professionally built kernel, most everything that isn't strictly necessary to boot the system will be in a module anyway, so it won't "waste" memory at all, just disk space. This is typically completely unnecessary (unless you have a very low disk space system, like an embedded system). – Michael Hampton Jul 31 '14 at 20:10

4 Answers 4

up vote 1 down vote accepted

You could look into genkernel from gentoo linux, it seems to deal with issues you are concerned about.

share|improve this answer

Just use the default kernel for your (server) distribution. It won't matter for dev purposes and for tuning a production system you need an expert anyway (who will look at the kernel compilation options last).

share|improve this answer
Do I look like I can afford an expert :-) ? That's why I am searching for a tool, that would trim desktop related drivers and I would handle the rest...There are tons of desktop related stuff built in...I really don't want to use such kernel – lisak Dec 27 '10 at 19:20

Is this for a specific embedded system? In general, changing compile options isn't going to make a big difference. Where performance matters, the modern kernel generally either automatically selects the best option, or else offers run-time tunables. You'd be better off working with those, or tuning your Java environment and your code.

share|improve this answer
It is a kernel compilation for a server, default configs are meant for desktops with tons of built in drivers..I don't care about modules, that are not loaded due to autodetection, but I don't want to have hundreds of drivers compiled in my kernel.. – lisak Dec 26 '10 at 0:18
They're really not hurting anything, and there's a cost to deviating from a standard config. Especially since you're not an expert in this area. If you have a problem in the future, you'll know your underlying OS is normal and can ask for help rather thank being an obscure special case. – mattdm Dec 26 '10 at 0:56
Also, if you are using a desktop distribution for your server, there are several run-time choices which are probably set to the wrong defaults for a server -- io scheduler and memory policy. These can make a significant difference. But again, only worth bothering if you've a) perfected the optimization of your application code and b) have a specific performance problem. – mattdm Dec 26 '10 at 14:15

kernel compilation has option "localmodconfig" which take default kernel trim all the unnecessary modules look at these page,

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.