去年,我拿到了一台机器,以我对linux的白痴程度,果断free -m,32G,ok。然后就当32G的机器用到现在。
今天,当我想查linux的内存的一些信息的时候,发现
[root@local ~]# dmidecode -t memory |grep -i 'size'
Size: 8192 MB
Size: 8192 MB
Size: 8192 MB
Size: No Module Installed
Size: No Module Installed
Size: No Module Installed
Size: 8192 MB
Size: 8192 MB
Size: 8192 MB
Size: No Module Installed
Size: No Module Installed
Size: No Module Installed
哎呀,8*6应该是48G才对啊。为什么free -m才是32G呢,刚开始以为是内存插法的问题,百度了会,不得甚解。
果断求助sa,sa说你试下这个
uname -a
Linux local 2.6.18-308.el5xen
sa果断的说,没跑了,你启用了XEN。
解决方法:
修改/boot/grub/menu.lst 文件
default=0----------------由0修改到1
timeout=5
splashimage=(hd0,0)/boot/grub/splash.xpm.gz
hiddenmenu
title Red Hat Enterprise Linux Server (2.6.18-308.el5xen)
root (hd0,0)
kernel /boot/xen.gz-2.6.18-308.el5
module /boot/vmlinuz-2.6.18-308.el5xen ro root=LABEL=/
module /boot/initrd-2.6.18-308.el5xen.img
title Red Hat Enterprise Linux Server-base (2.6.18-308.el5)
root (hd0,0)
kernel /boot/vmlinuz-2.6.18-308.el5 ro root=LABEL=/
initrd /boot/initrd-2.6.18-308.el5.img
重启服务器,free -m,48G , 正常
原因
装了XEN内核后,那么物理系统就变成一个特殊的虚拟机,而XEN对虚拟机内存最大就支持32G,所以会出现这种情况。