This content has been machine translated dynamically.
Dieser Inhalt ist eine maschinelle Übersetzung, die dynamisch erstellt wurde. (Haftungsausschluss)
Cet article a été traduit automatiquement de manière dynamique. (Clause de non responsabilité)
Este artículo lo ha traducido una máquina de forma dinámica. (Aviso legal)
此内容已经过机器动态翻译。 放弃
このコンテンツは動的に機械翻訳されています。免責事項
이 콘텐츠는 동적으로 기계 번역되었습니다. 책임 부인
Este texto foi traduzido automaticamente. (Aviso legal)
Questo contenuto è stato tradotto dinamicamente con traduzione automatica.(Esclusione di responsabilità))
This article has been machine translated.
Dieser Artikel wurde maschinell übersetzt. (Haftungsausschluss)
Ce article a été traduit automatiquement. (Clause de non responsabilité)
Este artículo ha sido traducido automáticamente. (Aviso legal)
この記事は機械翻訳されています.免責事項
이 기사는 기계 번역되었습니다.책임 부인
Este artigo foi traduzido automaticamente.(Aviso legal)
这篇文章已经过机器翻译.放弃
Questo articolo è stato tradotto automaticamente.(Esclusione di responsabilità))
Translation failed!
监控 CPU 使用情况
主机上每个 pCPU 的最佳 vCPU 数量取决于您的用例。在操作过程中,请确保监控 XenServer® 环境的性能并相应地调整配置。
术语
在此领域,有各种术语有时可以互换使用。在本文中,我们使用以下术语和含义:
- CPU(物理 CPU): 连接到处理器插槽的物理硬件。
- 核心: 一个物理处理单元,能够执行一个独立的执行线程,其中包含支持该执行所需的所有功能单元。
- 超线程: 一个物理处理单元,能够执行一个独立的执行线程,它与另一个超线程(也称为其“同级线程”)共享一些功能单元。
- 逻辑 CPU (pCPU): 一个能够执行独立线程的单元,包含一组寄存器和一个指令指针。在启用了超线程的系统中,这是一个超线程。在其他情况下,它是一个核心。
- 主机 pCPU:主机中逻辑 CPU 的总数。
- vCPU(虚拟 CPU):一个虚拟化的逻辑 CPU。这是一个能够执行独立线程的逻辑单元,提供给虚拟机。在 XenServer 中,vCPU 可以“分时”pCPU,使用调度程序来确定在任何给定时间哪个 vCPU 在哪个 pCPU 上运行。
- 客户机 vCPU:呈现给虚拟机内部客户机操作系统的 vCPU。
- Dom0 vCPU:对 XenServer 控制域 (dom0) 可见的 vCPU。
- 主机总 vCPU:主机中 dom0 vCPU 和所有客户机 vCPU 的总和。
一般行为
主机上的 vCPU 总数是 dom0 使用的 vCPU 数量加上分配给主机上所有虚拟机的 vCPU 总数。随着主机上 vCPU 数量的增加,您可能会遇到以下类型的行为:
-
当主机上的 vCPU 总数小于或等于主机上的 pCPU 数量时,主机总是提供虚拟机请求的全部 CPU 资源。
-
当主机上的 vCPU 总数大于主机上的 pCPU 数量时,主机将主机 pCPU 的时间共享给虚拟机。这种行为通常不会影响虚拟机,因为它们的 vCPU 通常有一部分时间处于空闲状态,并且在大多数情况下主机不会达到 100% 的 pCPU 使用率。
-
当主机上的 vCPU 总数大于主机上的 pCPU 数量,并且主机有时达到 100% 的主机 pCPU 使用率时,虚拟机的 vCPU 在高峰期无法获得它们请求的全部 pCPU 资源。相反,在这些高峰期,虚拟机将减速以获得主机上可用 pCPU 的一部分。
-
当主机上的 vCPU 总数大于主机上的 pCPU 数量,并且主机经常达到 100% 的主机 pCPU 使用率时,虚拟机的 vCPU 会持续减速以获得主机上可用 CPU 的一部分。如果虚拟机有实时性要求,这种情况并不理想,您可以通过减少主机上的 vCPU 数量来解决。
主机上的最佳 vCPU 数量可能取决于虚拟机用户对其虚拟机速度的感知,尤其是在虚拟机有实时性要求时。
获取有关 CPU 的信息
要查找主机上的 pCPU 总数,请运行以下命令:
xe host-cpu-info --minimal
要查找主机上当前 vCPU(来宾和 dom0)的总数,请运行以下命令:
xl vcpu-list | grep -v VCPU | wc -l
使用 RRD 指标监控 CPU 使用率
XenServer 提供 RRD 指标,用于描述虚拟机上的 vCPU 性能。
当主机 pCPU 使用率为 100% 时
当主机达到 100% 的主机 pCPU 使用率时,请使用这些虚拟机指标来决定是否将虚拟机迁移到另一台主机:
runstate_concurrency_hazard
-
runstate_concurrency_hazard > 0% 表明有时至少一个 vCPU 正在运行,而至少另一个 vCPU 想要运行但无法获得 pCPU 时间。如果 vCPU 必须协调,这种行为会导致性能问题。
-
runstate_concurrency_hazard 接近 100% 是应避免的情况。
建议的操作:
如果存在性能问题,请采取以下措施之一:
- 减少虚拟机中的 vCPU 数量。
- 将虚拟机移动到另一台主机。
- 通过迁移其他虚拟机或减少其 vCPU 数量来减少主机上的 vCPU 总数。
runstate_partial_contention
-
runstate_partial_contention > 0% 表示至少有一个 vCPU 想要运行但无法获得 pCPU 时间,并且至少有一个其他 vCPU 被阻塞(要么因为无事可做,要么因为它正在等待 I/O 完成)。
-
runstate_concurrency_hazard approaching 100% 是一种应避免的情况。
建议的操作:
通过查看存储供应商提供的后端指标,检查后端 I/O 存储服务器是否过载。如果存储服务器未过载且存在性能问题,请采取以下措施之一:
- 减少虚拟机中的 vCPU 数量。
- 将虚拟机移动到另一台主机。
- 通过迁移其他虚拟机或减少其 vCPU 数量来减少主机上的 vCPU 总数。
runstate_full_contention
-
runstate_full_contention > 0% 表示有时 vCPU 想要同时运行,但都无法获得 pCPU 时间。
-
runstate_full_contention 接近 100% 是应避免的情况。
建议操作:
如果存在性能问题,请执行以下操作之一:
- 减少虚拟机中的 vCPU 数量。
- 将虚拟机移动到另一个主机。
- 通过迁移其他虚拟机或减少其 vCPU 数量来减少主机上的 vCPU 总数。
当主机 pCPU 使用率低于 100% 时
如果主机未达到 100% 的主机 pCPU 使用率,请使用以下虚拟机指标来决定虚拟机是否具有正确的 vCPU 数量:
runstate_fullrun
-
runstate_fullrun = 0% 表示 vCPU 从未同时全部使用。
建议操作:
减少此虚拟机中的 vCPU 数量。
-
0% < runstate_fullrun < 100% 表示 vCPU 有时会同时全部使用。
-
runstate_fullrun = 100% 表示 vCPU 始终同时全部使用。
建议操作:
您可以增加此虚拟机中的 vCPU 数量,直到 runstate_fullrun < 100%。请勿进一步增加 vCPU 数量,否则如果主机达到 100% 的 pCPU 使用率,可能会增加并发风险的可能性。
runstate_partial_run
-
runstate_partial_run = 0% 表示所有 vCPU 始终处于使用状态 (full-run=100%),或者没有 vCPU 处于使用状态 (idle=100%)。
-
0% < runstate_partial_run < 100% 表示有时至少有一个 vCPU 被阻塞,原因可能是它们无事可做,或者它们正在等待 I/O 完成。
-
runstate_partial_run=100% 表示始终至少有一个 vCPU 被阻塞。
建议操作:
检查后端 I/O 存储服务器是否过载。如果未过载,则虚拟机可能具有过多的 vCPU,您可以减少此虚拟机中的 vCPU 数量。虚拟机中 vCPU 过多可能会增加主机 CPU 使用率达到 100% 时虚拟机进入并发风险状态的风险。
共享
共享
This Preview product documentation is Cloud Software Group Confidential.
You agree to hold this documentation confidential pursuant to the terms of your Cloud Software Group Beta/Tech Preview Agreement.
The development, release and timing of any features or functionality described in the Preview documentation remains at our sole discretion and are subject to change without notice or consultation.
The documentation is for informational purposes only and is not a commitment, promise or legal obligation to deliver any material, code or functionality and should not be relied upon in making Cloud Software Group product purchase decisions.
If you do not agree, select I DO NOT AGREE to exit.