PAE / Highmen

 
wobbe
Respected Contributor

PAE / Highmen

I have two hp proliant servers running Redhat ES2.1 Both machines have 4GB ram. But one machine only sees 3.5GB ram. I think this has something to do with PAE support in the used kernel. How kan I find out if the kernal support PAE?
18 REPLIES 18
Ivan Ferreira
Honored Contributor

Re: PAE / Highmen

>>> Redhat ES2.1

I think that in these versions, you need to install the kernel-bigmem package or something similar. Check the kernel* packages available.
Por que hacerlo dificil si es posible hacerlo facil? - Why do it the hard way, when you can do it the easy way?
wobbe
Respected Contributor

Re: PAE / Highmen

I really don't wanna start messing about with these machines. isn't there a file somewhere that lists al kernel options?
~sesh
Esteemed Contributor

Re: PAE / Highmen

You will need kernel-hugemem or something similar for a system with more than 4 GB memory.

Check "cat /proc/cpuinfo", do you see pae as one of the flags?

There is a parameter in kernel called CONFIG_HIGHMEM. How much recommended it is, I am not sure. Since you do not want to mess around, I would not suggest this.
Matti_Kurkela
Honored Contributor

Re: PAE / Highmen

Use the command "uname -r" to find out your kernel version.

Then look in the /boot directory: most Linux distributions, including RedHat, create a file like /boot/config- to document all the kernel configuration settings of the pre-built kernels.

The configuration file contains only ASCII text, so you can view it. Look for settings like CONFIG_HIGHMEM. CONFIG_HIGHMEM64G certainly enables PAE support: other CONFIG_HIGHMEM options (CONFIG_NOHIGHMEM or CONFIG_HIGHMEM4G) change the memory arrangement within the 4GiB limit of the 32-bit architecture.

To find the meaning of the various options, it's usually easiest to get the kernel source package and read the option description in the kernel configurator's Help menus.

See also:
http://www.spack.org/wiki/LinuxRamLimits

The memory difference might also be caused by some PCI add-on cards: if a card has some I/O memory that must be accessible to the applications (e.g. some sort of transfer buffers in case of a SCSI/RAID card or a video digitizer), this I/O memory will overlap some of the real memory within 4 GiB limit.

MK
MK
wobbe
Respected Contributor

Re: PAE / Highmen

Iâ ve checked the cpuinfo file but it doesn't give me the answer. Both servers have "pae" as a flag but thatâ s probably because they support PAE. I've also looked under the boot folder but there's nothing that starts with config and I donâ t know if itâ s a good idea to start opening the files that are in there. But I do need to know if the kernel is using PAE because I want to upgrade the servers to 8GB. And this is only useful if the kernel support more that 4GB. There must be a way to find out, even when it is a precompiled kernel. My kernel version is btw 2.4.9-e.3smp
wobbe
Respected Contributor

Re: PAE / Highmen

Iâ ve checked the cpuinfo file but it doesn't give me the answer. Both servers have "pae" as a flag but thatâ s probably because they support PAE. I've also looked under the boot folder but there's nothing that starts with config and I donâ t know if itâ s a good idea to start opening the files that are in there. But I do need to know if the kernel is using PAE because I want to upgrade the servers to 8GB. And this is only useful if the kernel support more that 4GB. There must be a way to find out, even when it is a precompiled kernel. My kernel version is btw 2.4.9-e.3smp
~sesh
Esteemed Contributor

Re: PAE / Highmen

You do not need to open / edit the files that you find the in the proc or boot folder.

The /proc/cpuinfo simply indicates that the processor is PAE capable if pae is present in the flags, nothing more.

What you actually need is a kernel with PAE support, that's all. If kernel doesn't support PAE, your system will not see more than 4 GB RAM.

Since you also plan to upgrade the RAM to 8 GB, I would recommend that you either try compiling the kernel or upgrade the version of RHEL to a version that has a PAE enabled kernel by default.

Compiling should be easy, just make sure you have a separate kernel for this purpose. The parameters can be tweaked. You need to start either "make config" or "make menuconfig". This link has more description & some screenshots.

http://en.linuxreviews.org/Kernel_Rebuild_Guide#The_Configuration_Process
~sesh
Esteemed Contributor

Re: PAE / Highmen

Oh the reason I'm suggesting this is because for 2.4.9-e.3smp I can't find a PAE (kernel-hugemem).
Heironimus
Honored Contributor

Re: PAE / Highmen

The "smp" kernel on RH 2.1 only supports up to 4G. You will need to install and boot the "enterprise" kernel to use more.

I do not think 2.1 has a "hugemem" kernel, I think hugemem kernels are only for RHEL 3 and 4 and are only required for systems with more than 16GB of memory.

Not surprisingly, "2.4.9-e.3smp" is the SMP kernel. The enterprise kernel has "enterprise" instead of "smp" in the version string. Off the top of my head I don't remember what the official supported memory limit is on 2.1 ES, you might want to check with your RH support to make sure you don't go out of compliance (it's a contract thing, not a technology thing).

By the way, that's a very old kernel, I think the current release for 2.1 is 2.4.9-e.72. Since you have to boot a different kernel anyway to increase the memory you may want to consider an update.