平台人生
作者平台人生·2017-09-06 22:03
软件开发工程师·平台人生

当我们运维PowerVM时--CPU我们该看什么

字数 1987阅读 4793评论 1赞 5

作者:程子木


很多运维人员从运维物理机上的AIX操作系统到运维PowerVM上的AIX操作系统时都有一个疑惑:当查看CPU使用率的时候,多了很多参数,到底这些参数都代表着什么,运维的时候到底要关注什么?我们今天就来聊聊CPU输出的这些参数。

要查看AIX操作系统上的CPU参数,有多种命令可以实现,如topas, lparstat, vmstat。由于利用lparstat命令基本可以看到我们所需的所有参数,所以我们以lparstat命令的输出做为示例来解释。

1物理机上AIX系统的输出

首先我们看下物理机上AIX系统的lparstat输出,可以看出输出的参数其实很简单。
微信图片_20170906215819.jpg

微信图片_20170906215819.jpg

分别有如下含义:
type=Dedicated——CPU采用独享的方式,不与其他系统共享
mode=Capped——CPU采用封顶的模式,当资源不够的时候,无法获取更多CPU资源
smt=On——采用类似于超线程方式
lcpu=8——本机共有8颗逻辑CPU
mem=15936MB——本机内存为16G
%user——用户进程占用CPU的时间比率
%sys——操作系统内核所占用的CPU时间比率
%wait——CPU处于等待状态占CPU时间的比率
%idle——CPU空闲时间比率

2PowerVM上AIX系统的输出

接着我们来看PowerVM虚机上AIX系统的lparstat输出,我们发现参数稍微复杂了一些。
微信图片_20170906215853.jpg

微信图片_20170906215853.jpg

分别具有如下含义:
Type=Shared——CPU采用共享的方式
Mode=Uncapped——CPU采用不封顶的模式,当资源不够的时候,可以从池中拿取CPU
Smt=4——采用类似于超线程方式,将一个物理CPU分成4个逻辑CPU
Lcpu=64——本虚机共有64颗逻辑CPU
Mem=65536MB——本虚机内存为64G
Psize=32——本虚机所在的物理机资源池中共有32颗物理CPU
Ent=8.00——CPU容量。给本虚机初始分配了8个CPU处理能力,此例虚拟比为1:2,当CPU负载增加时,最高可以使用2倍的(16个)CPU处理能力
%user——用户进程占用CPU的时间比率
%sys——操作系统内核所占用的CPU时间比率
%wait——CPU处于等待状态占CPU时间的比率
%idle——CPU空闲时间比率
Physc——使用的物理CPU数量
%entc——使用的物理CPU数量占CPU容量的百分比
Lbusy——系统和用户占用逻辑CPU的百分比
App——资源池中尚可用的物理CPU数量
Vcsw和phint两个参数无需特别关注。

这些参数中,有些是有关系的,现举例说明各参数之间的关联关系:
1.Ent=8.00。
此参数为建立虚机时设置好的。
2.Lcpu=Ent虚拟比SMT。
逻辑CPU的计算方式为:虚机有8个物理CPU的容量,此例中虚拟比为1:2,则最多可以分配82个物理CPU的处理能力,每个物理CPU用于采用SMT4的方式,则可以产生4个逻辑CPU,则共有82*4=64个逻辑CPU。
3.%entc=physc/Ent。
此百分比就是占用物理CPU数量与CPU容量的百分比,虚拟比为1:2时最大可以达到200%。
4.%user+%sys+%wait +%idle=100%。
此比率为占physc的比率。

3 发现两者的区别和联系

通过以上的参数分析,我们发现,在运维PowerVM上的AIX操作系统时,CPU的关注点与运维物理机上的AIX操作系统的关注点略有不同。
物理机上的AIX操作由于没有资源池的概念,CPU都是独享的,所以每台机器分配的CPU是固定的。运维的时候通过%user、%sys、%iowait和%idle占用的百分比就可以看出各自使用物理CPU的多少。
而PowerVM虚机,由于采用了资源池的概念,虚机占用的物理CPU大小physc值是时刻在变化的。我们所能查看到的%user和%sys指标是占用物理CPU的百分比,所以%user和%sys的指标虽然与物理机上的计算方法是一致的,但是无法精确计算出具体使用物理CPU的多少,所以运维PowerVM虚拟机应该首先关注%entc的数值,当这个%entc超过100%时,就意味着这台虚机已经将专门分配给自己的CPU都使用尽,已经开始占用资源池中的CPU了,这时就要着手处理了。接着,大致判断出是哪部分占用CPU较多,虽然计算不出%user和%sys占用物理资源的多少,但是根据百分比的大小还是可以大致判断的。最后再根据%user还是%sys占用CPU去查找消耗CPU的进程。

4 其实不复杂

从原理上来看,PowerVM虚拟化后CPU的调度和计算要比非虚拟化的情况复杂一些,但是从运维的角度上来看,运维PowerVM虚拟机只是在最开始增加了一步查看%entc的步骤,其他并没有太大改动。

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

5

添加新评论1 条评论

linjhlinjh系统工程师兴业证券
2017-09-14 09:37
一般通过nmon来查看cpu的使用情况 nmon的cpu监控页面右上角的EntitledCPU是分配的物理CPU,UsedCPU是当前使用的物理CPU;右下角100%VP是分配的虚拟CPU个数;左下角EC是物理CPU的使用率,即%entc,VP是已使用的物理CPU和分配的虚拟CPU的比,由于分配的虚拟CPU个数是虚拟机最大可使用的CPU个数,可以把VP这个值看作CPU使用率。
Ctrl+Enter 发表

本文隶属于专栏

作者其他文章

相关文章

相关问题

相关资料

X社区推广