Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

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
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.