标签:修改 结果 51cto star 输入 rhel7 系统设置 ffffff 分享图片
一、KVM为什么要调优ll //sys/kernel/mm/ksm/
cat run
[root@bogon ksm]# cat run //是否开启KSM,0为关闭,1为开启
0
[root@bogon ksm]# echo 1 > run //临时开启KSM,只能使用重定向,不支持VI编辑器
//若想永久开启,可在/etc/rc.local中添加echo 1 > /sys/kernel/mm/ksm/run,让KSM开机自动运行
[root@bogon ksm]# cat pages_to_scan //定期扫描相同页,sleep_millisecs决定多长时间
//pages_to_scan决定每次查看多少个页面
//默认是100,越大越好,超过2000无效,需要开启两个服务ksmtuned和tuned,支持更多页面
virsh memtune c7-1 //查看当前虚拟机的内存限制,单位为KB
hard_limit : 无限制 //强制最大内存
soft_limit : 无限制 //可用最大内存
swap_hard_limit: 无限制 //强制最大swap使用大小
virsh memtune c7-1 --hard-limit 1024000 --live
在逻辑地址想物理地址转换时,CPU保持一个翻译后备缓冲器TLB,用来缓冲转换结果,而TLB容量很小,所以如果page很小,TLB很容易就充满,这样就容易导致cache miss,相反page变大,TLB需要保存的缓存项就变少,就会减少cache miss,通过为客户端提供大页后端内存,就能减少客户机消耗的内存并提高TLB命中率,从而提高KVM性能。
cat /proc/meminfo
HugePages_Total: 0
HugePages_Free: 0
HugePages_Rsvd: 0
HugePages_Surp: 0
echo 25000 > /proc/sys/vm/nr_hugepages //临时生效
sysctl -w vm.nr_hugepages=25000
或者
vim /etc/sysctl.conf
vm.nr_hugepages=25000 //添加行,执行sysctl -p 立即生效
virsh destroy c7-1
vim /etc/libvirt/qemu/c7-1.xml
......
<domain type=‘kvm‘>
<name>c7-1</name>
<uuid>09ea8217-8943-47b1-9275-63b0357d31e2</uuid>
<memory unit=‘KiB‘>2097152</memory>
<currentMemory unit=‘KiB‘>2097152</currentMemory>
<memoryBacking><hugepages/></memoryBacking> //添加,使用大页
<vcpu placement=‘static‘>1</vcpu>
<os>
<type arch=‘x86_64‘ machine=‘pc-i440fx-rhel7.0.0‘>hvm</type>
<boot dev=‘hd‘/>
......
systemctl restart libvirtd.service
virsh start c7-1
cat /proc/meminfo | grep HugePage
在实际的生产环境中,为了米面过度消耗磁盘资源而对其他的虚拟机造成影响,我们希望每台虚拟机对磁盘资源的消耗是可控的,比如多个虚拟机往硬盘中写数据,谁可以优先写,就可以调整I/O的权重weight,权重越高写入磁盘的优先级越高。
在整体中的权重,范围在100~1000.
限制具体的I/O.
virsh blkiotune c7-1 //查看当前虚拟机权重状态
virsh blkiotune c7-1 --weight 500 //通过命令修改权重为500
yum install tuned -y
service tuned start
tuned-adm active
tuned-adm list
tuned-adm profile desktop
标签:修改 结果 51cto star 输入 rhel7 系统设置 ffffff 分享图片
原文地址:http://blog.51cto.com/13659253/2155962