我可以访问 vmware ESX(可能是 4 个)主机上的 Redhat linux 5.7 客户机,我怀疑它们经常超载(CPU 和 IO)。
我无法查看由另一家公司管理的 ESX 主机。
是否可以通过 vmware 代理获取有关主机状态的一些信息?
监控哪些操作系统参数可以获取有关主机状态的信息?
答案1
我认为您无法从 RHEL 客户机中看到主机的规格或资源。这可能是设计使然。是什么让您认为主机超载了?您应该将虚拟机视为物理服务器,并使用传统方法检查资源。您分配了多少 vCPU?您是否cat /proc/cpuinfo
获取了 CPU 规格?
检查 top、vmstat、sar(如果已安装)、nmon、htop 等实用程序。检查 CPU 和 I/O 等待百分比。如果您担心 I/O,请运行 Bonnie++ 或 Iozone 等常用基准测试,以获取虚拟机功能的实际值。
您还可以运行类似 unixbench 的整体基准测试看看你的虚拟设置如何比较。
答案2
是否可以通过 vmware 代理获取有关主机状态的一些信息?
Windows VM 显然具有此功能,可以使用从主机传递到客户机的性能计数器敌我识别区主机管理员甚至允许这样做。由于您有 Linux VM,因此这对您来说根本不可能。
监控哪些操作系统参数可以获取有关主机状态的信息?
您无法从虚拟机确定主机状态。由于 ESX 的固有特性,这是不可能的。虚拟机管理程序能够执行其操作的方式是抽象所有物理资源(CPU、RAM、磁盘、网络等)并将它们呈现给客户机,而客户机不知道它是虚拟机。因此,客户机操作系统不知道它正在运行的主机。它所知道的只是由于未知原因它无法执行它想做的事情。主机管理员决定您的虚拟机可以拥有哪些资源,而您无法确定这些资源中有多少已分配给您的虚拟机。
我建议使用 ewwhite 上面建议的实用程序收集尽可能多的数据,然后带着这些数据去找 ESX 主机管理公司,看看他们能否解决问题。或者,在收集数据时,您可能会发现问题确实出在客户操作系统的某个地方。您可以尝试查看vSphere 4.1 性能故障排除指南因为您“认为”主机是 ESX 4,但您可能应该先询问他们版本(如果他们会告诉您的话)。本指南的主要读者是 ESX(i) 管理员,但其中有几件事需要在客户操作系统中查找(在 SMP VM 上运行的单处理器内核、单线程应用程序等)。