RHEL / CentOS Support 4GB or more RAM ( memory )

by Vivek Gite · 20 comments

If you have 4 GB or more RAM use the Linux kernel compiled for PAE capable machines. Your machine may not show up total 4GB ram. All you have to do is install PAE kernel package.

This package includes a version of the Linux kernel with support for up to 64GB of high memory. It requires a CPU with Physical Address Extensions (PAE).
The non-PAE kernel can only address up to 4GB of memory. Install the kernel-PAE package if your machine has more than 4GB of memory (>=4GB).

How Do I Install PAE kernel?

To install PAE kernel, use yum command:
# yum install kernel-PAE
Output:

Loading "installonlyn" plugin
Setting up Install Process
Setting up repositories
Reading repository metadata in from local files
Parsing package install arguments
Resolving Dependencies
--> Populating transaction set with selected packages. Please wait.
---> Downloading header for kernel-PAE to pack into transaction set.
kernel-PAE-2.6.18-8.1.15. 100% |=========================| 207 kB    00:00
---> Package kernel-PAE.i686 0:2.6.18-8.1.15.el5 set to be installed
--> Running transaction check

Dependencies Resolved

=============================================================================
 Package                 Arch       Version          Repository        Size
=============================================================================
Installing:
 kernel-PAE              i686       2.6.18-8.1.15.el5  updates            12 M

Transaction Summary
=============================================================================
Install      1 Package(s)
Update       0 Package(s)
Remove       0 Package(s)         

Total download size: 12 M
Is this ok [y/N]: y
Downloading Packages:
(1/1): kernel-PAE-2.6.18- 100% |=========================|  12 MB    00:12
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing: kernel-PAE                   ######################### [1/1] 

Installed: kernel-PAE.i686 0:2.6.18-8.1.15.el5
Complete!

Just reboot the server and make sure you boot with PAE kernel i.e. 2.6.18-8.1.15.el5PAE:
# reboot

Featured Articles:

Want to read Linux tips and tricks, but don't have time to check our blog everyday? Subscribe to our daily email newsletter to make sure you don't miss a single tip/tricks. Subscribe to our weekly newsletter here!

{ 20 comments… read them below or add one }

1 Anjanesh 11.11.07 at 4:24 am

Wanted to info regarding this since Im interested in a custom configured dell notebook with a total of 4GB RAM (2×2GB) with the intention of installing Fedora 8 or Ubuntu 7.10 but was wondering if Linux can ’see’ 4GB of RAM unlike Windows which utilizes a max of ~3GB of RAM ?

2 vivek 11.11.07 at 6:55 am

Anjanesh,

Just install kernel-PAE under Fedora 8 and you should able to use 4 GB – 64 GB RAM out of box :)

I’m not windows expert, but it does support 64GB or more RAM if you use 64 bit Windows Vista / 2003 Server. Keep in mind that 64 bit windows has huge software / hardware compatibility issues.

HTH

3 Dimitri 11.11.07 at 6:51 pm

kenel-PAE isn’t available in CentOS 3/ RHEL 3 or CentOS 4/ RHEL 4 (at least, not on my systems). Instead, install and boot kernel-hugemem.

4 vivek 11.12.07 at 6:29 am

Dimitri,

Yup, kernel-PAE is CentOS 5/ RHEL 5 / Fedora 8 only.

5 Herger 11.16.07 at 1:51 pm

Hi all.
I am planning to buy a Dell workstation with RHEL 5 with 4 Gb ram.
If I had to install RHEL 3, for old CFD softwares, would i have problems in seeing the total ram ?
Thanks all and regards

Herger

6 ckolos 11.19.07 at 7:46 pm

FYI, this is only for 32bit versions of RHEL/Centos… The 64bit versions don’t supply, nor do they need these extensions

7 odoylefm 02.15.08 at 2:45 pm

I have a Red Hat 8, 64-Bit installation and the BIOS sees 4Gb of RAM, but Fedora only sees 3.1. It is an HP computer and the BIOS is very limited as far as configurable options. Why won’t Fedora see all the RAM?

8 Z. Qian 02.25.08 at 11:33 pm

my PC Bios only reports 3.2GB memory available. Does linux has its own basic IO support? Or it use standard bios support for IO?

Thanks.

9 josh 03.14.08 at 10:54 pm

older Intel chipsets (pre-965, including 945) do not support memory remapping – thus limiting access to the memory being overlapped by IO space.

10 nisha 08.08.08 at 9:32 am

Just a quick question, is kernel-PAE required for CentOS x86_64 to recognize additional memory? I’ve been googling, but there’s no straight answer to this…from what i understand, it’s only required for x86 arch’s…i would appreciate your insight about it…thanks

*Note:apologies if this has already been answered, i would just like a second opinion, hope it’s alright :-)

11 vivek 08.08.08 at 9:58 am

Noop, 64bit kernel can address 64GB / 128GB or more. PAE kernel = 32bit OS + 4GiB or more RAM.

12 nisha 08.08.08 at 10:04 am

perfect, thank you ;-)

13 Sithu 10.21.08 at 9:22 pm

Hi,

I’ve CentOS 5.2. Upgraded RAM to 32GB from 16GB. BIOS shows the increaed memory, but the OS still shows 16GB.

Could anyone help?

Thanks and regards
sithu

14 Mesut 11.01.08 at 7:35 am

for rhel/centos 3.x-4.x, support 64GB memory too but kernel is not named as kernel-PAE…
check kernel-hugemem or something…

15 deeb 04.06.09 at 11:07 am

I’ve just been looking into this. The new RHEL5 PAE kernel does not support memory above 16G. According to RH this was due to performance problems. If your applications will run in 64bit mode (X86_64) and you’ve got more than 16G, you should go 64bit.

cheers
deeb

16 Yuhong Bao 06.02.09 at 3:36 am

Another advantage of installing a PAE kernel is that you can enable the NX support in recent CPUs to increase resistance against buffer overflow attacks. Non-PAE page tables has no space for the NX bit, thus PAE has to be enabled to get NX.

17 Anj Adu 07.16.09 at 7:11 pm

We have 32 Bit Red Hat Enterprise Server 5.3 with PAE and the “top” command shows 32G total (which is the amount of installed memory”..) does that imply The PAE works beyond 16G ?

18 Corben 08.11.09 at 5:20 pm

Hi

Just replaced RAM in my HP laptop (Now, I have matched pair etc.) and my BIOS recognizes 4GB of RAM.
OS Centos 5.2 kernel 2.6.18-128.4.1.el5PAE can see only 3.5GB.
#cat /proc/meminfo
MemTotal: 3505948 kB

What should I do? My system is almost upto date.

Cheers
Corben

19 Davis 12.13.09 at 7:20 am

Very usefully information and easily to do ..
Now, my machine can suppot 8G ram!!
Thank you!!

20 Ross 02.04.10 at 6:26 am

We’re analysing a problem on 32 bit RHEL 5 PAE kernel (fully up-to-date) on a Dell M610 blade (4 x quad core XEON, 48GB RAM) and, although we see all 48GB in “top” and “free”, the following simple program shows that we’re still limited to 3GB of memory per process.

#include
#include 

enum {
  CHUNKS = 1024 * 32,
  MEGABYTE = 1024 * 1024
};

int main (void) {
  int i, j;
  void * chunk[CHUNKS];
  for (i = 0; i < CHUNKS; i++) {
    if (NULL == (chunk[i] = (void *) calloc(MEGABYTE, 1)))
      break;
  }
  printf("Allocated %d MB\n", i);
  for (j = 0; j < i; j++) {
    free(chunk[j]);
  }
}

Leave a Comment

You can use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Previous post:

Next post: