虚拟化环境下如何监控VM的CPU是否超售?

       最近在做一个政府项目,客户租用的联通云服务器,CentOS7.1,32C,64GB,互联网带宽10M,内部带度1000M;我们的应用部署在Tomcat中。按说这个配置是非常不错的,政府类的项目通常访问量不高,负载也不大,但是负责实施的人员反映系统每次重启Tomcat时间非常长,一般都在10分钟以上。通常我们的应用在开发环境中重启也不过30-40秒,最多没超过1分钟的,所以我们觉得肯定不是应用程序的问题,初步判断为操作系统层面或服务器硬件层面的问题。于是连到内网检查操作系统配置信息,没看出有什么异常,重启Tomcat应用,后台的tomcat的日志输出非常慢,几秒钟才输出一行,果然所实施同学所说一样;于执行top命令,从top命令的结果观察来看,系统的负载非常低,不到0.5;User CPU使用率也很低,IO wait也不高,但是%steal这个CPU指标比较高,达到20-30%。由于之前很少关注这个CPU指标,觉得它非常可疑,上网查询%steal指标的含义,明确如下:

From ibm:

Steal time is the percentage of time a virtual CPU waits for a real CPU while the hypervisor is servicing another virtual processor.

你的虚拟机(VM)会与虚拟环境的宿主机上的多个虚拟机实例共享物理资源。其中之一共享的就是CPU时间切片。如果你的VM的物理机虚拟比是1/4, 那么它的CPU使用率不会限制于25%的CPU时间切片-它能够使用超过它设置的虚拟比。(有别于内存的使用,内存大小是严格控制的)。

       从现象来看,由于CPU超售引起VM时间片分配严重不平均,我们所有的VM启动和运行缓慢的原因大体上定位到,于是打电话给对方的技术人员,他们检查后说将我们的VM迁移到别的物理机上,10分钟后迁移完成,重启应用,结果所我所愿,运行非常快,不到30秒即完成TOMCAT的启动,问题解决了。

       以前从来没有遇到过传说中的CPU超售问题,原来联通也会糊弄客户啊。

       请使用云服务器的同学一定要关注%steal指标,防止被无良云服务器提供商坑一把也不明白怎么回事。

参考:https://www.cnblogs.com/menkeyi/p/6732020.html

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值