Red HatThis forum is for the discussion of Red Hat Linux.
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.
Description of problem:
My computer has a memory of 32GB,I know rhel6 has a PAE enabled kernel by default. but the command "free -m" only shows total memory of 16GB ,why?
sorry I forget to say I want to use the i686 system on 32G memory ,how can i do it ?
with 32 bit (i686) processor you have no way of using full 32 GB of mem. You have to use 64 bit to utilize 32 GB. it is the limitation of 32 bit processors.
[3] The "SMP" kernel supports a maximum of 16GB of main memory. Systems with more than 16GB of main memory use the "Hugemem" kernel. In certain workload scenarios it may be advantageous to use the "Hugemem" kernel on systems with more than 12GB of main memory.
[4] The x86 "Hugemem" kernel is not provided in Red Hat Enterprise Linux 5 or 6.
And I use 'uname -a' the kernel have SMP, but how to change to "Hugemem" kernel in rhel6.Thank!
On fc12(kernel:2.6.32),there is a rpm package called kernel-PAE ,when the system has no PAE ,the recognized total memory is 4GB,after install kernel-PAE the recognized total memory is 32GB.
Compile kernel on rhel6(kernel:2.6.32) cannot produce package kernel-PAE,but rhel6 has a PAE enabled kernel by default,and now the recognized total memory is 16GB,why,(I know the PAE is integrated in kernel ,or the recognized total memory will be 4GB), why it is not 32GB.
32 bit PAE gives the kernel the physical ability to use up to 64GB of ram but ...
Linux normally divides the 4GB virtual address space into 3GB user mode and 1GB kernel mode. Linux needs to keep some data about each 4KB chunk of physical ram and it needs to keep all that data in kernel virtual memory. With too much physical memory, your 1GB of kernel virtual memory would be full and the system won't work.
There are many details I don't understand. Versions of the kernel might vary significantly in how space efficiently they store physical ram control data. They may also vary in how optimistic/pessimistic they are in expecting other demands on kernel virtual memory to vary with the amount of physical memory (more physical memory means more processes in memory at once and more files open, etc. meaning more demands on kernel virtual memory).
There is a kernel build option that reduces user virtual memory to 2GB in order to increase kernel virtual memory to 2GB, which ought to more than double the amount of physical ram the kernel can manage. That should be fairly problem free as long as none of your processes need more than 2GB virtual user mode memory.
Hugemem was an option to separate the virtual address space so the kernel has 4GB and user mode also has 4GB. That was an ugly kludge, far worse than switching to 64 bit. I don't know if it is usable by rebuilding a newer kernel or whether it is more seriously obsolete.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.