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.
Why do some default kernels not support large ram capacity? I noticed than when I have over 1GB of RAM on a workstation or server and the kernel will only display 886MB's of RAM. I know for a fact that it has 2 GB of RAM so I get very confused. Is there a reason for this? I know in the past upgrading to a more recent / testing kernel will resolve this.
If I'm correct, you need to enable a specific kernel module (if that's the right word) to be able to install more memory than some small amount (like support over 4G of ram). It increases kernel size, and my logic is that if something is not needed, it shouldn't be in the kernel.
I notice that many can't even detect 1GB of RAM. Is that normal?
Yes it is on a 32bit machine you need to patch the kernel with what is called I believe the lomem patch this allows a 32bit machine to access the full 1gb as low memory or if needed a kernel with HIGHMEM enabled in the kernel config for > 1gb memory.
How exactly do you "patch" a kernel to support this?
Same way you patch any kernel get the patch that applies to the source version you are using then change into the kernel source directory and patch -p1 < /path/to/patch/file then configure and compile the kernel preferable using the kernel-package method since I see you use Debian. A real easy way to get the support is to look for the Con Kolivas patches when using older kernel as I believe it (lomem patch) is included in the mainline kernel now. Did a quick search apparently it is a config option in the HIGHMEM section to use 1gb as low memory from at least 2.6.16 according to this page.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.