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

Posted on in Categories Hardware, Linux, Linux Scalability, Linux Virtualization, RedHat/Fedora Linux last updated December 27, 2008

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

28 comment

  1. Wanted to info regarding this since Im interested in a custom configured dell notebook with a total of 4GB RAM (2x2GB) 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. 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. 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. 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

  5. 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?

  6. 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.

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

  8. 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 :-)

  9. 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

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

  11. 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

  12. 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.

  13. 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 ?

  14. 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

  15. 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]);
      }
    }
  16. You don’t necessarily need a different Kernel.
    When you are using a Multiprocessor (Multicore) Machine you should already be using the SMP Kernel (check “uname -a”).

    [QUOTE]
    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.”
    [/QUOTE]I can’t post URLs but if you google “Red Hat Enterprise Server Version comparison chart” you will find the information in Note 5 on the bottom of the page.
    Also check out the “Technology capabilities and limits” on the same page.

  17. I have recently upgraded memory from 4gb ecc to 12gb ecc on Dell PowerEdge 2950 server running RHEL 5.3.
    Its showing 12Gb memory in RHEL but on SNMP monitoring its shows total memory 12gb and used memory 4gb max, and percentage usage of memory shows 99%, which was the reason to upgrade memory from 4gb initial to 12gb.
    Any suggestions?
    i am using PAE kernel.

  18. Hi, I am using RHEL 5.3 (32 Bit) on HP DL380G6. I am getting File System Read Only error on my server. please suggest on this..
    I am using PAE kernel
    Thanks.

  19. I have upgraded memory from 16 gb to 64gb in CentOS 5.4 x64 bit server which is installed on Dell R710 server. In BIOS it is showing 64 GB but when i check in OS it is only showing 32 GB. Do you have any idea about this.

Leave a Comment