![如何强制 VMware ESXi 回收内存(使用脚本手动)](https://linux22.com/image/1610391/%E5%A6%82%E4%BD%95%E5%BC%BA%E5%88%B6%20VMware%20ESXi%20%E5%9B%9E%E6%94%B6%E5%86%85%E5%AD%98%EF%BC%88%E4%BD%BF%E7%94%A8%E8%84%9A%E6%9C%AC%E6%89%8B%E5%8A%A8%EF%BC%89.png)
设想
我们有一台配备 512GB RAM 的 VMware ESXi 服务器,还有 25 台配备 64GB RAM 的虚拟机,虚拟机的预留内存为“0GB”。它们不会使用所有资源,但我们需要这样做,因为它们每天会使用一次所有内存(64GB)。当它们这样做时,ESXi 会为虚拟机提供 64GB 并尝试将其保留给虚拟机。我知道 ESXi 通过膨胀和其他方式管理内存,但它在虚拟机 64GB 的“主机内存”部分显示已用内存。
- 服务器总内存:512GB
- 客人总数:5%
- 总主机内存:470GB
问题
我们想说,如果虚拟机 10 分钟内没有使用内存,ESXi 将回收所有保留内存(主机内存参数)。使用 powercli、VMtools、Linux 脚本、配置等。
- 虚拟机内存大小:64GB
- VM 客户机内存:1%
- VM 主机内存:52GB(我们想回收这个内存)
我知道
我知道内存膨胀,但如果可能的话,我们需要手动回收内存。或者强制 ESXi 快速回收未使用的内存。
答案1
正如我最终所得到的,无法手动回收内存,但我们可以使用 vSphere 高级设置调整内存使用情况。
检查虚拟机是否发生膨胀、压缩和交换,如果发生膨胀和压缩,则不是什么好事,您应该增加资源或减少虚拟机的数量/资源。
在 VMWare 社区中查看更多信息:https://communities.vmware.com/message/2901715