管理OpenVZ资源-CPU share篇

 

继续昨天的内容今日描述的是OpenVZ中如何控制VE可使用的CPU资源OpenVZ资源管理器允许通过保证VE可使用的CPU time来实现QoS

 

没有设定cpulimit以及没有其他VE竞争CPU资源的情况下VE在获得设置的最小设定保证值外还可以超过该值以充分利用HW的CPU资源

 

bir、可设定参数
OpenVZ使用特定的运算规则计算CPU time而设定值的单位就是CPU time这就能避免单CPU和多CPU负载不平均不能充分利用资源的问题
可设定参数有

引用
ve0cpuunits该参数在全局配置文件中设置定义VPS 0可使用的最少CPU time也就是HW可获得保证的最少资源值建议设置为HW CPU time总值的5~10%
cpuunitsVE可获得保证的最少CPU time资源
cpulimit该VE不允许超过的CPU time百分比

正如开头提到的cpuunits不是固定值只要资源许可在没有超过cpulimit百分比的情况下VE可充分获取CPU资源

iki、设置CPU share
1、计算HW总的CPU time
第一步当然是需要计算当前VPS 0(HW)有多少CPU time可以支配

引用
# vzcpucheck
Current CPU utilization: 1000 #已由HW和启动的VE占用的CPU time
Power of the node: 85105 #HW的CPU time总数

2、HW可用CPU time

引用
# grep ‘VE0CPUUNITS=1000’ /etc/vz/vz.conf
VE0CPUUNITS=1000

这是默认值也等于没启动VE前运行vzcpucheck得到的结果

3、设置VE的CPU time

# vzctl set 115 –cpuunits 2500 –cpulimit 5 –save

veya

引用
# vi /etc/vz/conf/115.conf
CPUUNITS=”2500″
CPULIMIT=”5″

意思就是

引用
1)即使在HW的CPU满负荷或者讲the current CPU utilization等于the power of the Node的情况下,115 VE都可以得到约3%(2500/85105)的CPU time资源
2)但在CPU空闲的情况下,115 VE并不能得到超过5%的CPU time资源
3)也就是讲,Normal koşullar altında,,115 VE可用的CPU time资源在3%~5%之间
4)若不设置cpulimit那么115 VE在没有其他VE竞争而资源又允许的情况下就可以超过3%但只要不超过HW的负荷就可以了

启动VE结果

引用
# vzctl start 115
# vzcpucheck
Current CPU utilization: 3500
Power of the node: 85105

该设置还是动态有效的

引用
# vzctl set 115 –cpuunits 4000 –cpulimit 5 –save
Setting CPU limit: 5
Setting CPU units: 4000
Configure meminfo: 49152
Saved parameters for VE 115
# vzcpucheck
Current CPU utilization: 5000
Power of the node: 85105

4、sorun
从上面的描述可以知道OpenVZ通常用最少保证值来让VE可充分的利用系统资源这是其设计原理之一但由此会带来一个问题就是

引用
# vzctl set 112 –cpuunits 85000 –cpulimit 5 –save
# vzctl start 112
# vzcpucheck
Current CPU utilization: 105000
Power of the node: 85105
Uyarı: hardware node is overcommited

万一你为所有VE设定的其最少保证可用CPU time资源总值大于HW实际的CPU time。Sonra,就可能会发生CPU过载的问题当真正发生此情况的时候,115 VE就不能获得其原来保证可获得的3%的CPU time资源由此可能会导致整个虚拟系统出错
Tabii ki,这只会发生在112 VE完全使用CPU timeHW超负荷的情况下而大部分情况下VE占用CPU的高峰并非同时的根据OpenVZ的动态分配原则CPU time都可以获得比较充分的利用,ve bu yüzden,仅是Warning而不是Error但为了避免问题建议还是让current CPU utilization等于power of the Node比较好


Yorum Yap