参考文章:http://www.boche.net/blog/index.php/2010/10/21/cpu-ready-to-rdy-conversion/

http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1026063

好文:http://frankdenneman.nl/2010/09/13/esx-4-1-numa-scheduling/

http://bbs.vmanager.cn/thread-3939-1-1.html

http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1026063

http://wahlnetwork.com/2011/09/22/numa-woes-battling-high-cpu-rdy-on-vsphere-4/

http://frankdenneman.nl/2010/02/03/sizing-vms-and-numa-nodes/

http://frankdenneman.nl/2010/12/28/node-interleaving-enable-or-disable/

如果是每个node有6core,vm最好分配2,3,6个vcpu

缺省是vm超过8个vcpu会启用vNUMA,但是如果VM分配的vcpu不超过8个,但是仍然大于node中的内核总数,可以对这些vm启用vNUMA

有一些多核处理器的NUMA节点大小不同于每socket的核心数目。例如有些12核心cpu具有2个6核心的NUMA节点。

Some multi-core processors have NUMA node sizes that are different than the number of cores
per socket. For example, some 12-core processors have two six-core NUMA nodes per processor.

First and most importantly, try and size your VMs as a multiple of your physical server’s NUMA node size. For instance, if your physical server has 6 cores per NUMA node, size your VMs as either 2, 3, or 6 way.  This KB article explains the potential impact of mismatched VM sizes to NUMA node sizes in more detail http://kb.vmware.com/kb/1026063

Virtual NUMA

vSphere 5.0 and later support for exposing virtual NUMA topology to guest operating systems, which can improve performance by facilitating guest operating system and application NUMA optimizations.

virtual machines so they align with physical NUMA boundaries. For example, you have a host system with six cores per NUMA node. In this case, size your virtual machines with a multiple of six vCPUs (that is, 6 vCPUs, 12 vCPUs, 18vCPUs, 24 vCPUs, and so on).

By default, vNUMA is enabled only for virtual machines (hardware versions: 8) with more than eight vCPUs. This feature can be enabled for smaller virtual machines, however, by adding to the .vmx file the following line:numa.vcpu.maxPerVirtualNode = X (where X is the number of vCPUs per vNUMA node).

使用虚拟 NUMA

vSphere 5.0 及更高版本包括对向客户机操作系统公开虚拟 NUMA 拓扑的支持,这样便于客户机操作系统和应用程序 NUMA 优化,从而可提高性能。

虚拟 NUMA 拓扑可用于硬件版本 8 的虚拟机,且默认情况下在虚拟 CPU 的数目大于 8 时启用。也可以使用高级配置选项手动影响虚拟 NUMA 拓扑。

可以通过 vSphere Client 中的两种设置来影响虚拟 NUMA 拓扑:虚拟机的虚拟插槽数及每个插槽的内核数。如果每个插槽的内核数 (cpuid.coresPerSocket) 大于 1,且虚拟机中的虚拟内核数大于 8,则虚拟 NUMA 节点大小与虚拟插槽大小相匹配。如果每个插槽的内核数小于或等于 1,则会创建虚拟 NUMA 节点以匹配首个打开虚拟机电源的物理主机的拓扑。

当虚拟 CPU 数目和使用的内存量按比例增长时,可以使用默认值。对于占用不成比例的大量内存的虚拟机,可通过以下方式之一替代默认值:

增加虚拟 CPU 的数目,即使未使用此数目的虚拟 CPU 也是如此。请参见更改虚拟 CPU 的数目

使用高级选项通过物理 NUMA 拓扑来控制虚拟 NUMA 拓扑及其映射。请参见虚拟 NUMA 控制

Figure 2: NON-NUMA vCPU placement

Figure 3: NUMA vCPU placement

Figure 4: esxtop memory totals

如图:上图服务器有64GB内存,2个4核CPU,每个NUMA分配有32GB内存。

第一个NUMA node有13988 free,第二个NUMA node有372 MB free.

在第二个节点上的vm看起来会没有多少内存可以使用了,但是幸运的是可以远程使用node1上的内存。

N%L指示使用本地NUMA node节点上的内存的百分比。少于一定比例会将vm迁移到令一个node以便提高本地内存存取性能。

METRIC EXPLANATION
NHN Current Home Node for virtual machine
NMIG Number of NUMA migrations between two snapshots. It includes balance migration, inter-mode VM swaps performed for locality balancing and load balancing
NRMEM (MB) Current amount of remote memory being accessed by VM
NLMEM (MB) Current amount of local memory being accessed by VM
N%L Current percentage memory being accessed by VM that is local
GST_NDx (MB) The guest memory being allocated for VM on NUMA node x. “x” is the node number
OVD_NDx (MB) The VMM overhead memory being allocated for VM on NUMA node x

Transparent page sharing and memory locality.

------------------------------------------------------------------------------------

当考察一个物理主机性能的时候,一个重要的衡量指标是CPU使用率。

而考察一个虚拟机的性能的时候,另一个重要的指标是Ready time.

Ready time 告诉我们guest vm在获得主机分配的CPU资源前等待了多久时间,以 % format的格式

%RDY曾经用来发现CPU性能瓶颈

vSphere Client中也可以监控vm性能指标,可以发现CPU ready这项,以微秒为统计

两种格式需要转换。

NUMA
NUMA stands for Non-Uniform Memory Access, which translates into a variance of memory access latencies. Both AMD Opteron and Intel Nehalem are NUMA architectures. A processor and memory form a NUMA node. Access to memory within the same NUMA node is considered local access, access to the memory belonging to the other NUMA node is considered remote access.

在激活了NUMA的ESXi主机的虚拟机上执行esxtop显示%RDY值过高

[复制链接]

   

升级  100%

电梯直达

1#

 发表于 2011-3-16 13:48:09 | 只看该作者 
故障状态
1、ESXi主机上的物理CPU数量相对于为其上配置的vCPUs的数量而言,不足;

2、NUMA节点之间的CPU较高使用率失衡;

故障分析
这个问题是由于总的物理CPUs数量和总的vCPUs之间的匹配失衡;
例如:
  • 在4 core/socket的机器上分配了3vCPU虚拟机
  • 在6 core/socket的机器上分配了4/5 vCPU虚拟机
  • 在8 core/socket的机器上分配了5/6/7 vCPU虚拟机

解决方案
计算公式应该是在N核心的机器上为VM分配N/2个vCPU;

禁止掉缺省的RoundRobin初始化放置策略,降低%RDY参数值,命令如下:

  1. #esxcfg-advcfg -s 0 /Numa/RoundRobin

复制代码

  • 不要在4 core/socket的机器上分配3vCPU虚拟机
  • 不要在6 core/socket的机器上分配4/5 vCPU虚拟机
  • 不要在8 core/socket的机器上分配5/6/7 vCPU虚拟机

备注:Numa.RoundRobin选项是隐藏的,因此无法通过vSphere Client登录系统查看到,只能利用命令行;

Node interleaving disabled equals NUMA

、、

esxtop 指标%RDY,NUMA,Wide-VMs的更多相关文章

  1. NUMA and vNUMA

    NUMA and vNUMA posted by szamosattila on march 04, 2012Tutorial, Virtualization With the spread of S ...

  2. RFC2544测试指标

    RFC2544测试指标 参考:https://wenku.baidu.com/view/3abbb5bf960590c69ec3769d.html  RFC2544性能测试介绍 参考:https:// ...

  3. All you should know about NUMA in VMware!

    http://www.elasticvision.info/ All you should know about NUMA in VMware! Lets try answering some typ ...

  4. vsphere 处理NUMA

    vsphere 4.1 之前: cpu调度会将一个VM的分配给一个home node,整个vm被看做一个NUMA client. 如果VM的vCPU数量超过一个NUMA node的可用数量,则不被看做 ...

  5. Summarizing NUMA Scheduling两篇文章,解释得不错

    http://vxpertise.net/2012/06/summarizing-numa-scheduling/ Sitting on my sofa this morning watching S ...

  6. NUMA总结。

    vsphere 5.1性能最佳实践http://www.vmware.com/pdf/Perf_Best_Practices_vSphere5.1.pdf vNUMA 要求:硬件版本8以上. 1.整个 ...

  7. 深度学习在美团点评推荐平台排序中的应用&& wide&&deep推荐系统模型--学习笔记

    写在前面:据说下周就要xxxxxxxx, 吓得本宝宝赶紧找些广告的东西看看 gbdt+lr的模型之前是知道怎么搞的,dnn+lr的模型也是知道的,但是都没有试验过 深度学习在美团点评推荐平台排序中的运 ...

  8. 使用 esxtop 识别存储性能问题

    可以使用交互式 esxtop 实用程序提供连接到 VMware ESX 主机的各种设备的 I/O 衡量指标. 使用 esxtop 配置监控 要监控每个 HBA 的存储性能,请执行以下操作: 通过在命令 ...

  9. (转)Linux NUMA引发的性能问题

    最近某客户的核心业务系统又出了翻译缓慢的情况.该问题在6月份也出现过,当时进行了一次调整. 我们首先来看下故障时间段的awr报告: 单纯的从TOP 5 event,基本上是看不出任何东西的,可能有人会 ...

随机推荐

  1. iOS6新特征:UICollectionView介绍-非常棒 -转

    传送门:http://www.devdiv.com/forum.php?mod=viewthread&tid=128378

  2. HDU 1575 Tr A(矩阵高速幂)

    题目地址:HDU 1575 矩阵高速幂裸题. 初学矩阵高速幂.曾经学过高速幂.今天一看矩阵高速幂,原来其原理是一样的,这就好办多了.都是利用二分的思想不断的乘.仅仅只是把数字变成了矩阵而已. 代码例如 ...

  3. SharePoint 取消分享时的默认发邮件

    前言 最近遇到一个需求,就是sharepoint默认分享的时候,会默认勾选发送邮件的功能.而用户,经常会用到分享的功能,但是不需要发送邮件,需要默认不勾选这个操作. 这样,就需要修改sharepoin ...

  4. 吸血鬼猎人巴菲第一至八季/全集Buffy迅雷下载

    本季看点:<吸血鬼猎人巴菲>故事背景在现代,话说于每一个世代都会出现一个年青的女孩子,在人世间寻找及对付一些妖魔鬼怪,例如有吸血鬼.坏女巫等等邪恶的势力,而这个年青的女孩子则被称为Slay ...

  5. 反恐24小时第一季/全集24 Live Another Day迅雷下载

    反恐24小时 第一至九季 24 Season 1-9 (2001-2014) 本季看点:<24小时>第8季将在拥有美国的象征自由女神像的纽约开始,在新的一天,CTU重新开张,新的领导为从M ...

  6. 《Linux系统编程(第2版)》

    <Linux系统编程(第2版)> 基本信息 作者: (美)Robert Love 译者: 祝洪凯 李妹芳 付途 出版社:人民邮电出版社 ISBN:9787115346353 上架时间:20 ...

  7. 程序中try、throw、catch三者之间的关系

    c++程序中,采用一种专门的结构化处理逻辑的异常处理机制. 1.try语句 try语句块的作用是启动异常处理机制,检测try语句块中程序语句执行时可能出现的异常. try语句块总是与catch一同出现 ...

  8. NVelocity语法常用指令

    对变量的引用:$ [ ! ][ { ][ a..z, A..Z ][ a..z, A..Z, 0..9, -, _ ][ } ]. 在NVelocity中,对变量的引用都是以$开头加上变量名称.当使用 ...

  9. [2014亚马逊amazon] 在线笔试题 大于非负整数N的第一个回文数 Symmetric Number

    1.题目 如标题,求大于整数N(N>=0)的第一个回文数的字符串表示形式. 这个题目也是当时笔试第一次见到,花了一个小时才做出了.慢慢总结还是挺简单的. 2.分析 分析如下: (1)一位数N(9 ...

  10. windows包管理器chocolatey

    1.安装chocolatey打开cmd.exe执行@powershell -NoProfile -ExecutionPolicy Bypass -Command "iex ((New-Obj ...