Linux - KernelThis forum is for all discussion relating to the Linux kernel.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
Do you mean, "how much memory does your kernel use?"
I just looked in top, and that's really hard to say, as top shows what programs and processes use how much memory, and it certainly depends on what programs you are running. For what it's worth, here's the gross output of top on my system, using the generic kernel that comes with Slackware:
recommended "highly" by who (except you, obviously)?
and why is it the best way to go? for everyone? or what do you mean by "usually"?
Anyone that wants to reduce the size of the kernel by eliminating unused features. This is what is done for embedded use.
Now for a general use - it won't reduce the kernel that much (general use usually needs a number of those features). It doesn't reduce it much because MOST features (not all) are loadable at run time, so they don't consume memory unless used. But having the support for loadable kernel modules does make the kernel larger, it also makes each feature slightly larger. This makes a running kernel larger than one with the specific features compiled in. This also can make boot slightly faster as most of the work of the initrd (identifying devices, loading drivers/filesystems, loading filesystems) has already been done - and you can bypass the use of initrd by going directly to the root device when kernel initialization is done (this is instead of going to the intrd then to the root device). It can also make using USB connections a bit more difficult (only certain USB devices may work). Bypassing the initrd can improve boot time by 5-10 seconds depending on the configuration.
The result a kernel with all features compiled in (and without loadable modules) makes it more difficult to move from system to system. It can be done if the next system contains exactly the same hardware - but sometimes replacing a device controller will cause the boot to fail (different driver).
There was an earlier thread on whether it's better to compile your own kernel (in a distro that doesn't require you to) and the consensus seemed to be that, in a tightly integrated system like Debian or Fedora, you're better off using the kernel that the developers assume to be present on your system. Systems that make you "roll your own" (Crux, LFS, Gentoo) are also much more loosely coupled as regards overall software.
Personally I like a homemade kernel because it avoids having to use an initrd (I really hate those), but on Debian I use the kernel provided.
One case where I had to build my own was when I installed NuTyX on my laptop. It has Vaio Chrome graphics, which proved incompatible with the framebuffer console that the initrd insisted on creating.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.