ESXi 主机(版本 5.5.0)仅使用大约一半的物理内存,但是当我查看 esxtop 时,我看到:
SWAP /MB: 1136 curr, 854 rclmtgt
MEMCTL /MB: 7986 curr, 7986 target, 103832 max
我原本以为,由于它没有过度使用内存,因此它不应该使用任何交换空间。为什么它仍在使用交换?
答案1
假设这台服务器不是刚刚启动的,那可能是因为在过去的某个时间点,它做过可用内存不足。
默认情况下,ESXi 不会立即将之前已调出的内存调入页面。目前没有立即需要这样做,因此为了减少 IO 负载,这些页面将保留在磁盘上,直到需要它们为止。
我猜这必须是可调的,但这是默认的标准行为。
答案2
在阅读之前,请注意此功能旨在供 VMware 支持使用。虽然它受到内部支持,但您使用它需要自担风险,并且认为本文纯粹是出于教育目的。对此功能的支持以及通过 UI 的展示将来可能会或可能不会发生变化。