最近有几台 ESXI服务器频繁宕机影响了线上服务,最后发现是由于 虚拟机将 ESXI 资源(cpu 内存)用光后导致的,总结并分享:

 

1 ESXI 宿主机 资源摘要

 

 

2 使用虚拟机资源限制功能:

点击资源项,设置 cpu 保留 2000 MHZ,限制最大 2000MHZ(线上服务器要要根据实际情况分配!)

内存 限制 512MB

 

磁盘限制(未限制)

 

3 测试 限制虚拟机 cpu 资源

执行 死循环的测试脚本!

虚拟机负载

限制在 1974MHZ

 

4 没有资源限制的虚拟机 

cpu 被限制在 3968MHZ ,这是为什么?答案是 我为此虚拟机配置了2个虚拟 cpu,也就是说如果我为此虚拟机配置8个虚拟cpu 的话,那么此虚拟机将消耗 ESXI 宿主机 全部cpu 资源!

最后此虚拟机警报

警报说明

 

试想一下如果这台 ESXI (XEON 5405 2.0GHz*2 cpu "8核",16GB  memory )服务器, 创建了 4台 虚拟机 每台配置为 4 vcpu 4 GB 内存那很可能将 ESXI "托死",例如下图 ESXI 宿主机警报!

图片2

超过ESXI 全部cpu 资源时,ESXI 将宕机!

结束

综上所讲,在为 虚拟机分配资源时,要考虑下 ESXI 宿主机资源 ,特别是为虚拟机分配虚拟cpu 或者内存时 要么对其进行资源限制,要么结合实际情况分配虚拟 cpu 内存等。