Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I have installed Oracle Enterprise Linux 64bit on the server with 64g of RAM. But the system detects just 32b of memory, here are the details:

[root@oracle-node2 ~]# uname -a
Linux 2.6.18-194.el5xen #1 SMP Mon Mar 29 22:22:00 E                     DT 2010 x86_64 x86_64 x86_64 GNU/Linux
[root@oracle-node2 ~]# uname -r
[root@oracle-node2 ~]# uname -m
[root@oracle-node2 ~]# head /proc/meminfo
MemTotal:     33554432 kB
MemFree:      28984540 kB
Buffers:         35612 kB
Cached:        1912284 kB
SwapCached:          0 kB
Active:        1620324 kB
Inactive:      1212660 kB
HighTotal:           0 kB
HighFree:            0 kB
LowTotal:     33554432 kB
[root@oracle-node2 ~]# cat /etc/grub.conf
# grub.conf generated by anaconda
# Note that you do not have to rerun grub after making changes to this file
# NOTICE:  You have a /boot partition.  This means that
#          all kernel and initrd paths are relative to /boot/, eg.
#          root (hd0,0)
#          kernel /vmlinuz-version ro root=/dev/VolGroup00/LogVol00
#          initrd /initrd-version.img
title Enterprise Linux (2.6.18-194.el5xen)
        root (hd0,0)
        kernel /xen.gz-2.6.18-194.el5
        module /vmlinuz-2.6.18-194.el5xen ro root=/dev/VolGroup00/LogVol00 rhgb                      quiet
        module /initrd-2.6.18-194.el5xen.img
title Enterprise Linux-base (2.6.18-194.el5)
        root (hd0,0)
        kernel /vmlinuz-2.6.18-194.el5 ro root=/dev/VolGroup00/LogVol00 rhgb qui                     et
        initrd /initrd-2.6.18-194.el5.img

How can I change that limit to 64g? Note: BIOS shows 64g in memory section.

Additional info:

[root@oracle-node1 ~]# dmesg | grep -i memory
    Memory: 32782304k/33562624k available (2512k kernel code, 771444k reserved, 1396k data, 184k init)
    Non-volatile memory driver v1.2

[root@oracle-node1 ~]# dmidecode -t 16
# dmidecode 2.10
SMBIOS 2.5 present.

    Handle 0x002B, DMI type 16, 15 bytes
    Physical Memory Array
        Location: System Board Or Motherboard
        Use: System Memory
        Error Correction Type: Single-bit ECC
        Maximum Capacity: 192 GB
        Error Information Handle: Not Provided
        Number Of Devices: 18
share|improve this question
Please put the dmesg | grep -i memory portion and dmidecode -t memory part. – Soham Chakraborty Jan 18 '13 at 17:09
@SohamChakraborty thank you for your comment. Please see newly added "Additional info" section in my post. – kupa Jan 18 '13 at 17:55

Yeah, as I guessed, it is a limitation of the xen kernel. As far it seems the kernel you are using can only detect 32 GiB of memory for dom0. The rest of 32 GiB can be allotted to domU however.

I can't find the documentation that I was searching but I can look it up later. You see, in dmesg it tells that kernel is detecting only 32 GiB of RAM and that is what you also see in /proc/meminfo.

This thread also states the same.

It says

This is a limitation of the Xen kernel; only 32GB will be visible to Dom0. The "missing" 32GB can still be allocated to DomU's, however. 

If you can hold on, I can also check in source or in more authoritative articles.

share|improve this answer

Check if the Xen Hypervisor is seeing all your memory:

xm info | grep memory

If the Xen Hypervisor sees all your 64GB of ram, check how much memory is allocated to Dom0:

xm list

If the Xen Hypervisor sees all your 64GB of ram but only 32GB are allocated to Domain-0, I'd try explicitly setting dom0_mem on the hypervisor command line.

If the Xen Hypervisor does not see all your 64GB of ram, I honestly don't know where to look :) but I'd try using a more recent version of the Xen Hypervisor and/or dom0 Linux kernel/system.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.