我想知道是否有任何工具可以在虚拟机内使用,并且知道在虚拟化环境中工作。 不用考虑CPU和内存设置的限制,使用Linux顶级工具可能会引起误解。 也许有些有趣的数据可以用VMTools协助收集?
从VMware客户机中获取这些(以及更多)性能计数器的唯一方法是使用vmware-tools附带的VMGuestLib SDK。
我为这个库编写了一个python包装器,名为python-vmguestlib和一个工具vmguest-stats来访问这些计数器。 现在有三个Dstat插件将这些性能计数器与其他系统资源相关联。 这是如此简单:
dstat -c –vm-cpu -m –vm-mem –vm-mem-adv
您可以在以下位置findpython包装器,vmguest-stats工具和Dstat:
反馈和改进的欢迎!
不,到目前为止,主持人的表演不能从客人那里得到。
如果您要进行性能监控,则需要三个统计信息:
其中的一些部分可以在客人级别(如主机的CPU速度)获得,而不是其他的统计数据。
VMware提供了一个Perfmon扩展,为ESX主机性能计数器提供了Windows Guest OS的可见性 – 您可以在这篇博文中阅读VMware的Scott Drummond 。
这些评论指出,现在还没有可用的Linux版本,但是如果你有一个开发者,那么Guest SDK可以用来在Linux Guest中提供相同的数据。
虚拟机的关键在于它并不知道它是虚拟机。 虚拟机pipe理程序的工作是将底层硬件完全从虚拟机中抽象出来,给虚拟机一个在物理硬件上运行的印象。 我们作为用户(想想Tron)意识到这台机器是一个虚拟机,但是虚拟机的内核(除了一些专门针对作为虚拟机运行的优化之外)并不知道它是一个切片。
也就是说,SNMP可能会对HV进行轮询(这可能是典型虚拟机的网关地址),用于某些关于HV的tid信息,并对其进行外插。 不幸的是,我没有访问pipe理程序,我可以snmpwalk,所以我没有办法看到有什么可用。