2012年(5)
分类: 虚拟化
2012-06-25 22:16:45
1.在启动项里面设定dom0的内存(grub1 如下)
title CentOS (2.6.18-274.7.1.el5xen)
root(hd0,0)
kernel/boot/xen.gz-2.6.18-274.7.1.el5 dom0_mem=4096M
module/boot/vmlinuz-2.6.18-274.7.1.el5xen ro root=LABEL=/
module/boot/initrd-2.6.18-274.7.1.el5xen.img
2.修改Xend的配置文件保证不收缩dom0的内存
#vi /etc/xen/xend-config.sxp
修改dom0-min-mem项
(dom0-min-mem 4096)
修改enable-dom0-ballooning项
(enable-dom0-ballooning no)
3.重启虚拟化物理主机,使修改生效
4.简单的说明关于限定dom0内存的原因:
首先,Linux 内核依据启动时的内存多少来设置相关的网络参数。其次,Linux根据启动内存大小来存储内存源数据(页信息)。由于这两个分配都和启动时的内存有关联,这样当dom0在启动时拥有所有的内存,而随着不断开启guestOS后,dom0最后使用的内存就变得比开始时少,最后意味着你的网络参数有误,而且也会浪费掉存储内存页信息的内存。同时在虚拟机运行时动态调节dom0的内存也会带来整体机器不稳定的副作用。
二、调节虚拟机的权重使得dom0有更多的CPU时间来处理IO请求
1. 为了有平滑的操作,并且使guestOS的表现良好,就需要给dom0分配足够的CPU时间来满足guestOS的IO请求。
初始情况下每个guestOS的权重都是256
[root@haha ~]# xmsched-credit -d Domain-0
{'cap': 0, 'weight': 256}
可以调高Domain-0的weight的值
[root@haha ~]# xm sched-credit -d Domain-0 -w 512
2. 为dom0分配单独的物理CPU
如果你运行IO密集型的guestOS或者大量任务,就可以考虑给dom0分配单独的物理CPU。
修改grub中的参数
dom0_max_vcpus=x on hypervisor(xen.gz)
修改/etc/xen/xend-config.sxp
(dom0-cpus x)
三,参考