在具有严重性能问题的VMware虚拟机上,可以看到TASKMGR.EXE(任务pipe理器)进程的CPU负载平均为20%以上。 在这个服务器上运行的应用程序负载较低,平均在4%到10%左右。 VM正在运行带有3.75 GB分配RAM的Windows 2003 Server Standard。 我怀疑任务pipe理器CPU负载与VMWare服务器上的其他VM实例有关,但在内部ESXi系统上看不到类似的值(有问题的VM在客户IT中运行)。
我有类似的症状,而不是在虚拟机,但Win7的笔记本电脑。 Taskmgr.exe和其他进程(如Winmerge.exe)占CPU的13%(8个中的一个)。 这个问题通过重新启动暂时缓解,所以我做了很多。
经过很长时间的调查,我发现Webroot Secure Anywere(病毒和其他types的防护软件)WRSA.exe是罪魁祸首。 一旦我终止了这个过程,一切又开始像魔术一样快速起来! 不知道如何使用而不是Webroot的保护。
那么,如果你刚刚退出taskmanager? 🙂
每当我看到任务pipe理器加载的荒谬的价值,原来是由于内存不足而在VM主机上交换。 检查主机上的内存统计信息,尤其是分配和使用的内存值以及使用的交换。
虚拟化服务器上的性能应首先在物理服务器上评估,然后在虚拟机上评估。
在虚拟机内部,时间计算不准确,特别是如果您过度使用VCPU。
此外,CPU时间花费在系统时间可能会非常严重地影响性能。 即使CPU使用率低于15%,甚至10%也可能使VM的响应时间加倍。
检查你是否过度提交内存,主机服务器不交换。 这将使您的performance下降。 确保安装了VMware工具,并且准虚拟化(直接I / O,baloon)驱动程序正在运行。
任务pipe理器试图实时做事情。 它以设定的频率轮询资源。 对于由任务pipe理器监视的任何给定的度量和负载集合,指令的数量是由工作中的algorithm以某个固定的值确定的。
如果对于一组给定的度量标准使用20%的CPU,那么因为没有太多的CPU开始。 如果在10倍于CPU的机器上运行相同的负载,则只占用2%的CPU。
所使用的CPU百分比相对于可用的CPU。 在虚拟机的情况下,相对于其运行的CPU的物理容量减去其他虚拟机消耗的CPU的容量。
相对于其运行的虚拟机可用的总CPU,20%只有很多 ,只有在与该CPU有更好的关系时才是重要的。
顺便说一下,请记住,除非消耗CPU,否则不应该担心CPU被占用,或者没有做一些有用的事情,或者做得不够充分,因为有更多的事情要做。
100%的cpu消耗还不错,这是可取的。 这意味着对于给定的工作量,您可以尽可能快地运行。 监视CPU队列,如果这是> 0,那么你需要更多的CPU。
使用<100%的CPU并不好,特别是当您尝试完成工作时。 请记住,CPU是一个时间资源。 未使用的周期不能存储,没有价值,它们只是代表浪费的机会来完成任务。
没有加载时,最佳系统只显示备用CPU。
我在vSphere 5.1上遇到了一个与2003标准虚拟机类似的问题。 最初,我configuration了一个非常简单的虚拟机(4GB虚拟RAM,20GB虚拟磁盘)和1个2核的插槽。 在闲置时,虚拟机CPU一直在30-50%的范围内,即使没有安装程序,它是完全最新的等
我尝试了不同的CPUconfiguration,当我将vCore的数量从1个插槽和2个核心更改为1个插槽和4个核心(并重新启动)时,一切都平静下来 – 空闲时间为99%。
我不太了解vCPU的方法来提供解释,但也许会帮助某人
主机本身是一个2×16核心AMD的DL385 Gen8。