我正在Hyper-V上运行一台虚拟机服务器,每周大概停顿一次,有效地使它运行的某些服务变得毫无用处。
– 物理主机
– 虚拟机
这是症状:
– 当服务器停止时, 我可以 …
– 当服务器停止时, 我不能 …
我设置了性能警报和数据收集器来跟踪每个进程的处理器时间百分比和总处理器时间百分比。 在失速期间,总处理器时间的平均值约为5%。 我也检查了主机上的内存,总是有至less几个GB可用。
还有其他的VM服务器在同一主机上同时运行。 所有其他虚拟机在失速期间似乎不受影响。
VM服务器最终在10-30分钟的停顿时间后开始正常运行。 我在事件日志中找不到任何相关的错误或警告。 有没有人知道为什么服务器以这种方式停止? 还有什么我可以检查,以缩小问题?
您可以设置性能监视器来logging每个进程使用的内存。 在可用的计数器下,向下滚动到“处理”对象,将其展开。 添加专用字节,工作集和工作集 – 专用。 确保select这样,它会显示每个单独的过程,而不是总数的细目。 这将告诉你每个进程分配的内存,并希望指向你的罪魁祸首。
当内存变得很低时,机器通常不会拖延。 但至less这是你现在可以开始的一个地方。
过去,当虚拟机占用过多的内存,主机已经locking时,我们遇到了问题。 有一种方法可以为Hyper-V预留一些内存来帮助你。 这为我们解决了一些问题。
这里解释registrypath。 这是一个DWORD,应该用MB来指定,例如2048。
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Virtualization\MemoryReserve
configuration完成后重新启动。
另外,您不介绍您的存储环境。 如果你的虚拟机和主机共享磁盘,这可能会给你带来麻烦。