XEN内核显示内存不足32g

XEN内核显示内存不足32g

我在服务器上安装了 Oracle Enterprise Linux 64 位,内存为 64g。但系统检测到的内存只有 32b,以下是详细信息:

[root@oracle-node2 ~]# uname -a
Linux oracle-node2.ra.gov.ge 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
2.6.18-194.el5xen
[root@oracle-node2 ~]# uname -m
x86_64
[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
#boot=/dev/sda
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
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

我怎样才能将该限制改为 64g?注意:BIOS 内存部分显示 64g。

附加信息:

[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

答案1

是的,正如我所猜测的,这是 xen 内核的限制。目前看来,您使用的内核只能检测到 dom0 的 32 GiB 内存。但是,其余 32 GiB 可以分配给 domU。

我找不到我所搜索的文档,但我可以稍后查找。你看,在 dmesg 中它显示内核仅检测到 32 GiB 的 RAM,这也是你在 中看到的/proc/meminfo

这个线程也说明了同样的事情。

http://xen.1045712.n5.nabble.com/memory-quesion-td2609396.html

它说

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. 

如果你能坚持下去,我也可以在来源或更权威的文章中查看。

答案2

检查 Xen Hypervisor 是否看到所有内存:

xm info | grep memory

如果 Xen Hypervisor 看到您所有的 64GB RAM,请检查分配给 Dom0 的内存量:

xm list

如果 Xen Hypervisor 看到您所有的 64GB 内存,但只有 32GB 分配给 Domain-0,我会尝试dom0_mem在虚拟机管理程序命令行上明确设置。

如果 Xen Hypervisor 看不到您所有的 64GB RAM,我真的不知道该去哪里找 :) 但我会尝试使用较新版本的 Xen Hypervisor 和/或 dom0 Linux 内核/系统。

相关内容