转载  http://www.360doc.com/content/16/0225/11/22078350_537242602.shtml

使用esxtop命令可以显示针对虚拟化的各类信息,包括cpu、内存、网卡、存储等各类数据的统计。

esxtop有以下8种方式来度量虚拟工作环境性能:

     c:CPU面板显示服务器统计数据以及个人领域、资源池和虚拟机CPU的统计数据;

      m:内存面板显示服务器和分组内存使用的统计数据,与CPU面板相似;

      n:网络面板显示服务器网络使用统计数据;

      i:中断面板显示中断向量的统计信息;

      d:存储适配器面板默认汇总每个存储适配器;

      u:存储设备面板显示服务器存储利用的统计数据;

      V:虚拟机存储面板显示以虚拟机为中心的存储统计数据;

      p:电源面板显示CPU电源利用统计数;

esxtop其他功能:

      f:增加或者删除设置;

      V:在CPU面板和内存面板之间切换View All和View VM Only视图,View VM Only视图会清除不是虚拟机的所有进程;

      2:高亮显示一行,向下滚动;
      8:高亮显示一行,向上滚动;

      S2:两秒刷新一次;

二、    主要功能介绍

1.      CPU

输入esxtop命令,一般默认是显示和CPU相关的界面,如果没显示,可按“c”进行CPU界面展示

vsphere 性能优化及最佳实践_性能优化

1)       CPU load average

CPU1分钟、5分钟和15分钟内的负载计算,基于6个范本作为计算对象。

2)    number of worlds

ESXi服务器的worlds数量;

3)    PCPU UTIL(%)

每颗PCPUunhalted CPU cycles的百分比,它平均分布在所有PCPU上。

如果PCPU UTIL(%)的值过高意味着什么呢?这就意味着物理资源被大量占用。如果所有的PCPUs的使用率都逼近100%,则就意味着CPU资源使用的过载。此时,就需要去检查system groupsRDY%值以便验证是否真的是CPU资源使用过载;其次,如果某些PCPUsPCPU UTIL(%)接近100%,但是有一些却不是这样,则此时就意味着资源调度的不均衡了。此时就需要注意了,最好去监控在过去一段时间里是否这些PCPUs的使用率接近100%,如果是这样,请检查是否为虚拟机配置了CPU亲和性规则,如果有,可尝试接触掉这种亲和性规则的关联指定;

4)    PCPU USED(%) 

这个参数是每颗PCPU的使用百分比,它会平均分布在所有PCPUs上。

PCPU UTIL(%)表示在过去的恒定时间里PCPU多长时间PCPU处于busyunhalted)状态,PCPU USED(%)则表示则表示在过去恒定的时间里PCPU的有效工作工作状态。PCPU USED(%)这个支持能够更加准确的阐述当下的PCPU资源利用率,因为它综合了各种硬件辅助状态,例如超线程和智能电源管理等模块;

5)    CORE UTIL(%)

这个选项只有在开启了超线程时出现。这个参数记录每COREPCPUs上处unhalted状态时的CPU cycles百分比,它会平均分布到所有的COREs上。当PCPUs里的CORE都处于halted状态时,它会取与“CORE IDLE”状态相反的百分比值,并提取这个值作为CPU cycles的百分比;
batch mode下,会显示每颗PCPU对应的“CORE UTIL(%)”,因此,PCPU 0 PCPU 1会有相同的“CORE UTIL(%)”数目,例如Core 0 “CORE UTIL(%)”PCPU UTIL(%)COREUTIL(%)的差异到底在哪里?当PCPUs里的CORE被使用时,则CORE一定是出于Utilized状态,CORE的使用率百分比不一定等于PCPUs的使用率百分比的总和。CORE0的使用率大于等于任意一颗PCPU的使用率,同时又小于等于PCPU0PCPU1的使用率。

6)    %USED

CPU核心循环使用,这个值是物理CPU对应到World的时间百分比。

系统服务所消耗的World的计数也在其中,它的计数单位有%SYS这个服务,通常情况下,这个服务的开销时间会被计算进去。否则,将会计入%OVRLP用作World的补充。

%USED的计算公式为:%USED = %RUN+ %SYS - %OVRLP的值

VM%USED的值较高时,意味着VM开销了大量的CPU资源,此时,可以打开worlds的下拉菜单去查看到底什么业务导致了这样的高CPU资源开销;

7)    %SYS

这个是系统服务消耗world时间的百分比。它可能包含和系统服务相关的一些指令、系统worlds等底层业务开销;

  阀值

阀值为20%,当大于20%时,可能是由于VMI/O过高导致;

8)    %VMWAIT

虚拟机等待一些VMkernel活动(比如I/O)完成后才可以继续工作,包括% SWPWT“blocked”,但不是空闲时间(类似%WAIT)

如果此值过高达到100%则可能是由于存储性能问题或者虚拟机的某个设备延迟造成,比如USB设备、串行通信设备。

9)    %SWPWT

计数器显示一个VM等待交换页面从磁盘读取需要多久的时间。

  阀值

阀值为5,高于此值则可能是内存过载;

10)        %MLMTD

统计VCPU准备运行的时间百分比,

  阀值

阀值为1,此值一般都为0,如果大于可能是由于设置了CPU limit,删除此限制以获得更好的性能;

11)        %CSTP

如果虚拟机使用了VSMP,显示了虚拟机在co-deschedule状态下准备运行的时间百分比。

  阀值

阀值为3,造成此的原因可能是vSMP过多,需要减少此虚拟机的vCPU数量。

12)        %RDY

VM等待被调度时间的百分比。通常情况下world等待被CPU调度机制调度到PCPU时,就会产生%RDY值,它的全称是CPU Ready Time。因此它通常情况下都是小于100%的,为什么呢?因为物理的CPU的资源是有限度的;

  参考信息:

%RDY就是一个重要的标尺,当系统产生了%RDY值后,理论上都意味着CPU资源的不足导致了争用。但是,这不是绝对的,因为如果管理员有针对虚拟机的vCPU设定Limit时,此时,虚拟机可以调度的CPU资源量将会被局限在手动设定Limits范围内,此时,即使有足够的PCPU资源,依然会在VM上产生%RDY。那么,如何鉴别这个问题呢?此时,就涉及到我们接着要说的另一个参数“%MLMTD”。注意,%RDY值会包含%MLMTD的。例如,当CPU发生争用情况时,我们可以使用 “%RDY - %MLMTD” 来鉴别真实的情况,如果 “%RDY - %MLMTD”的值较高,例如大于20%时,即可定性为CPU资源不足导致了CPU争用情况的出现。反之,如果这个 “%RDY - %MLMTD” 的值较小,例如5%,则意味着此时不一定会有物理CPU的资源不足情况,也就不存在CPU资源争用的情况,所以20%为一个临界值;

  阀值

 阀值为10%,可能是由于虚拟机的VCPUSVMP过多导致,或者是vCPU做了限制(请检查%MLMTD)。

13)        %RUN

这个是world已调度运行的总计时间百分比;

VM%RUN值过高时,就意味着VM使用大量的CPU资源,当然这并不意味着虚拟机的资源不足了,如果要确认是否虚拟机的CPU资源不足,则还需要去看看%RDY值,因为%RDY值才是评判CPU资源紧缺的参考依据;

2.      内存vsphere 性能优化及最佳实践_性能优化_02

1)    MCTLSZ

vsphere 性能优化及最佳实践_esxtop _03

程序回收物理机内存的总量;

 Amount of
guest physical memory (MB) the ESXi Host is reclaiming by balloon driver

  阀值

阀值为1,如果此值大于零,则说明内存负载过大,此时主机会强制虚拟机回收过量的内存

2)    SWCUR

vsphere 性能优化及最佳实践_esxtop _04

已经被VMKernel进行交换的内存。

  阀值

阀值为1,如果大于零,可能是内存过载。

3)    SWR/s,

vsphere 性能优化及最佳实践_esxtop _04

主机读取交换内存的速度

 阀值

阀值为1,如果大于零,说明esxi主机积极读取交换内存,可能的原因是内存过量使用

4)    SWW/s

vsphere 性能优化及最佳实践_esxtop _06

物理主机写入交换内存的速度

  阀值

阀值为1,如果大于零,说明esxi主机积极写入交换内存,可能的原因是内存过量使用;

5)    Memory Status:

vsphere 性能优化及最佳实践_esxtop _07

  high

有足够的空余内存

  Soft

空闲内存小于4%:物理机回收内存。

  hard

空闲内存小于2%:主机开始交换,此时主机性能会降低;

  low

空闲内存小于1%esxi主机会停止给虚拟机分配更多的内存;

6)    ZIP/SUNZIP/S

vsphere 性能优化及最佳实践_esxtop _08

  ZIP/S

值大于零表明主机正在积极的压缩内存

  阀值

阀值为0,如果大于零,说明主机在积极的压缩内存,造成此的原因可能是内存负载过大。

  UNZIP/S

Values larger 0
indicate that the host is accessing compressed memory.

  阀值

阀值为0,表明主机内存之前过量使用

3.      网络

1)    %DRPTX, %DRPRX, %DRPTX

数据包传输下降,丢包率

  阀值

阀值大于1表示网络利用率较高

  %DRPRX

数据包接受率下降

  阀值

阀值大于1表示网络利用率较高

vsphere 性能优化及最佳实践_性能优化_09

2)    Used-by/Team-PNIC:

vsphere 性能优化及最佳实践_esxtop _10

可以看出目前虚拟机所使用的网卡是vmnic2还是vmnic3

4.      磁盘

1)   GAVG

DAVG + KAVG

  阀值:

阀值25

2)    DAVG

vsphere 性能优化及最佳实践_esxtop _11

  阀值

阀值为25,由于数据造成磁盘延迟;

3)    KAVG

VMKernel造成的延迟

vsphere 性能优化及最佳实践_esxtop _12

  阀值

阀值为3,当值过高时意味着有排队情况的发生

4)    ABRTS/s

vsphere 性能优化及最佳实践_esxtop _13

  阀值

阀值为1,不管任何原因造成的路径访问失败或者数据无法接受I/O信息,因为存储没有响应而终止虚拟机的发布,默认windows虚拟机为60秒钟。

5)    RESETS/s

vsphere 性能优化及最佳实践_性能优化_14

每秒钟命令重置的数量

  阀值

阀值为1

6)    DISK

vsphere 性能优化及最佳实践_性能优化_15


SCSI
Reservation Conflicts per second. If many SCSI Reservation Conflicts occur
performance could be degraded due to the lock on the VMFS.

  阀值

阀值为20