今年来的新人比较多,每个人都需要至少两个 Xen 虚拟机做项目,一个 Linux 一个 Windows,去年升级到 16GB 内存的服务器都显得资源很紧张,今天 VPSee 给新来的人分配虚拟机的时候居然发现内存不够用。Xen 运行一段时间后,dom0 就会吃掉几乎所有可用内存(这是 Linux 的特点,把多余的内存用来做缓存),这时候如果要新建一个 Xen 虚拟机的话就造成内存分配不足的错误:

# xm create vm01
Using config file "./vm01".
Error: (12, 'Cannot allocate memory')

解决的办法很容易,就是在 Xen 内核启动的时候加上 dom0_mem=512M 参数限制,这样 dom0 最多只能使用 512MB 的内存。当然可以根据自己情况来决定给 dom0 分配多少内存,如果不确定的话,这篇 “应该给 Xen Dom0 和 DomU 配置多大内存?” 可能会有帮助。

# vi /etc/grub.conf
default=0
timeout=2
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title CentOS (2.6.18-164.11.1.el5xen)
        root (hd0,0)
        kernel /xen.gz-2.6.18-164.11.1.el5 dom0_mem=512M
        module /vmlinuz-2.6.18-164.11.1.el5xen ro root=LABEL=/
        module /initrd-2.6.18-164.11.1.el5xen.img
 
from :     http://www.vpsee.com/2010/01/limit-xen-dom0-memory/
Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐