Search the VMware Knowledge Base (KB)
View by Article ID

对 ESX/ESXi 虚拟机性能问题进行故障排除 (2082173)

  • 0 Ratings

Symptoms

免责声明:本文为 Troubleshooting ESX/ESXi virtual machine performance issues (2001003) 的翻译版本。尽管我们会不断努力为本文提供最佳翻译版本,但本地化的内容可能会过时。有关最新内容,请参见英文版本。



  • 在客户机虚拟机中运行的服务响应缓慢。
  • 在客户机虚拟机中运行的应用程序间歇性地做出响应。
  • 客户机虚拟机可能看起来缓慢或无响应。

Purpose

本文提供了有关在 ESXi/ESX 上隔离性能问题的信息。

Cause

性能问题可能是由于以下多个不同方面导致的:CPU 限制、内存过量使用、存储延迟或网络延迟。如果您的一个或多个虚拟机具有错误的响应时间,请考虑其中每个区域以找到瓶颈。

Resolution

下面的每个步骤提供了相关说明以及指向相应文档的链接。按最适当的顺序执行这些步骤,以找出问题,然后找到正确的解决办法。这种排序方式也是为了最大限度减少数据丢失而确定的。

注意:完成每个步骤后,确定是否仍然存在性能问题。请按顺序执行每个故障排除步骤,不要跳过任何步骤。

本文包括四个主要部分:

CPU 限制

要确定性能低下是否是由于 CPU 限制导致的,请执行以下操作:

  1. 使用esxtop命令确定 ESXi/ESX Server 是否过载。有关 esxtop 的详细信息,请参见适用于您的 ESXi/ESX 版本的《资源管理指南》:

    1. 检查命令输出第一行上的load average

      平均负载为 1.00 表示 ESXi/ESX Server 计算机的物理 CPU 已充分利用,而平均负载为 0.5 则表示利用率为一半。平均负载为 2.00 表示整个系统过载。

    2. 检查%READY字段,以了解虚拟机就绪但无法计划为在物理 CPU 上运行的时间百分比。

      在正常操作条件下,此值应保持在 5% 以下。如果在性能较差的虚拟机上就绪时间值较高,则检查 CPU 限制:

    如果平均负载太高,且就绪时间不是由 CPU 限制导致的,请调整主机上的 CPU 负载。要调整主机上的 CPU 负载,请执行以下操作之一:

    • 增加主机上物理 CPU 的数目



    • 减少分配给主机的虚拟 CPU 的数目。要减少分配给主机的虚拟 CPU 的数目,请执行以下操作之一:

  2. 如果您使用的是 ESX 3.5,则确定 IRQ 共享是否存在问题。有关详细信息,请参见ESX has performance issues due to IRQ sharing (1003710)

内存过量使用

要确定性能低下是否是由于内存过量使用导致的,请执行以下操作:

  1. 使用esxtop命令确定 ESXi/ESX Server 的内存是否被过量使用。有关 esxtop 的详细信息,请参见适用于您的 ESXi/ESX 版本的《资源管理指南》:

    1. 检查命令输出第一行上的MEM overcommit avg。此值反映了请求的内存与可用内存之间的比率减 1。

      示例:

      • 如果虚拟机需要 4 GB 的 RAM,而主机具有 4 GB 的 RAM,则其比率为 1:1。从 1/1 减 1 后,MEM overcommit avg字段显示为 0。不存在过量使用且不需要额外的 RAM。
      • 如果虚拟机需要 6 GB 的 RAM,而主机具有 4 GB 的 RAM,则其比率为 1.5:1。从 1/1.5 减 1 后,MEM overcommit avg字段显示为 0.5。RAM 被过量使用了 50%,这意味着与可用 RAM 相比还需要 50% 的 RAM。

    如果内存被过量使用,请调整主机上的内存负载。要调整内存负载,请执行以下操作之一:

    • 增加主机上的物理 RAM 量



    • 减少分配给虚拟机的 RAM 量。要减少分配的 RAM 量,请执行以下操作之一:

      • 减少分配给主机上所有虚拟机的 RAM 总量



      • 减少主机上的虚拟机总数。

  2. 确定虚拟机是否在膨胀和/或交换。

    要检测任何膨胀或交换,请执行以下操作:

    1. 运行esxtop
    2. 键入m表示内存
    3. 键入f表示字段
    4. 为内存膨胀统计信息 (MCTL) 选择字母J
    5. 查看MCTLSZ值。

      MCTLSZ (MB)显示气球驱动程序回收的客户机物理内存量。

    6. 键入f表示字段
    7. 为内存交换统计信息 (SWAP STATS) 选择字母。
    8. 查看SWCUR值。

      SWCUR (MB)显示当前的交换使用量。

    要解决此问题,请确保膨胀和/或交换不是由错误设置的内存限制导致的。如果内存限制设置错误,请正确重置。有关详细信息,请参见:

存储延迟

要确定性能低下是否是由于存储延迟导致的,请执行以下操作:

  1. 确定问题是否与本地存储有关。将虚拟机迁移至其他存储位置。
  2. 减少每 LUN 的虚拟机数。
  3. 在 Windows 客户机中查找类似于以下内容的日志条目:

    The device, \Device\ScsiPort0, did not respond within the timeout period.

  4. 使用 esxtop 查找高 DAVG 延迟时间。有关详细信息,请参见 Using esxtop to identify storage performance issues (1008205)
  5. 确定可使用 iometer 命令获取的最大 I/O 吞吐量。有关详细信息,请参见 Testing virtual machine storage I/O performance for VMware ESXi and ESX (1006821)
  6. 将虚拟机的 iometer 结果与附加到同一存储的物理机的相应结果进行比较。
  7. 检查 SCSI 预留冲突。有关详细信息,请参见 Analyzing SCSI Reservation conflicts on VMware Infrastructure 3.x and vSphere 4.x (1005009)
  8. 如果您使用的是 iSCSI 存储器和巨帧,请确保所有内容都配置正确。有关详细信息,请参见:

  9. 如果您将 iSCSI 存储器和多路径与 iSCSI 软件启动器结合使用,请确保所有内容都配置正确。有关详细信息,请参见《iSCSI SAN 配置指南》中的以下各节:

如果您确定与存储相关的问题:
  1. 确保您的硬件阵列和 HBA 卡已通过 ESX/ESXi 认证。有关详细信息,请参见 VMware Hardware Compatibility List
  2. 确保您的物理服务器的 BIOS 是最新的。有关详细信息,请参见 Checking your firmware and BIOS levels to ensure compatibility with ESX/ESXi (1037257)
  3. 确保您的 HBA 的固件是最新的。有关详细信息,请参见 Slow performance caused by out of date firmware on a RAID controller or HBA (1006696)
  4. 确保 ESX 可识别您的 SATP 存储阵列类型和 PSP 路径选择的正确模式及路径策略。有关详细信息,请参见 Verifying correct storage settings on ESX 4.x, ESXi 4.x and ESXi 5.0 (1020100)

网络延迟

网络性能可能会受到 CPU 性能的高度影响。在检查网络延迟之前排除 CPU 性能问题。

要确定性能低下是否是由于网络延迟导致的,请执行以下操作:

  1. 使用 Iperf 工具测试来自虚拟机的最大带宽。可以从 https://code.google.com/p/iperf/ 获取该工具。

    注意:VMware 不认可、不推荐任何特定第三方实用程序。

    1. 在使用 Iperf 时,将 TCP 窗口大小更改为 64 K。性能也取决于此值。要更改 TCP 窗口大小,请执行以下操作:

      1. 在服务器端,输入以下命令:

        iperf -s

      2. 在客户端,输入以下命令:

        iperf.exe -c sqlsed -P 1 -i 1 -p 5001 -w 64K -f m -t 10 900M

有关详细信息,请参见 http://openmaniak.com/iperf.php

  1. 使用 ESXi/ESX 主机以外的计算机运行 Iperf。根据您的物理环境,将其结果与预期结果进行比较。
  2. 在同一物理交换机的同一 VLAN 上,使用 ESXi/ESX 主机以外的另一台计算机运行 Iperf。如果性能较好,且仅可使用另一地理位置的计算机重现问题,则此问题与您的网络环境有关。
  3. 在同一 ESX Server/端口组/vswitch 上的两台虚拟机之间运行 Iperf。如果结果正常,则可以排除 CPU、内存或存储问题。
如果您确定在网络上存在瓶颈:
  1. 完成 Troubleshooting network performance issues (1004087) 中的所有步骤。
  2. 如果您使用的是 iSCSI 存储器和巨帧,请确保所有内容都配置正确。有关详细信息,请参见:

  3. 如果您使用的是 Network I/O Control,请确保为您的流量正确配置了份额和限制。有关详细信息,请参见 Network I/O Resource Management in vSphere 4.1 with vDS (1022585)
  4. 确保正确配置了流量调整。有关详细信息,请参见《ESXi/ESX 配置指南》中的 Traffic Shaping Policy

Additional Information

Tags

简体中文 Simplified Chinese

See Also

Request a Product Feature

To request a new product feature or to provide feedback on a VMware product, please visit the Request a Product Feature page.

Feedback

  • 0 Ratings

Did this article help you?
This article resolved my issue.
This article did not resolve my issue.
This article helped but additional information was required to resolve my issue.

What can we do to improve this information? (4000 or fewer characters)




Please enter the Captcha code before clicking Submit.
  • 0 Ratings
Actions
KB: