如何验证虚拟机分配的内存多于其需要的内存并设置适当的内存大小?

如何验证虚拟机分配的内存多于其需要的内存并设置适当的内存大小?

我想检查一台虚拟机分配的内存是否多于其所需的内存。如果是这样,想回收一些空闲内存。如何验证呢?从vmware客户端来看,如果一台VM的Guest物理内存使用率不高并且没有发生交换,是否意味着我们可以参考原始内存来调整VM所需的内存?

还有一个关于如何检查一台虚拟机实际内存详细信息(已使用、空闲)的问题?我问,有时主机内存低于虚拟机内存,但从系统来看,总大小是虚拟机内存大小,并且使用的大小大于vSphere客户端的活动内存。

例如:一台虚拟机

来自 vSphere 客户端

VM memory 32768MB, host memory 28343, guest memory%  13%.

来自系统(linux)

[root@ ~]# free -h
              total        used        free      shared  buff/cache   available
Mem:            31G         12G        956M        7.7M         18G         18G
Swap:          1.9G        103M        1.8G
[root@ ~]# 

来自 Vsphere 客户端

答案1

如果您看到“buff/cache”为 18GB,则超过实际内存的 50%。通常,此值是用于辅助的内存的 15%,或用于应用程序的 20%。

如果您的机器在任何时候需要更多,首先将使用“buff/cache”

Total Memory --> 31GB Real Used --> 12GB 15 % of total Memory for cache --> 5GB Real Used + cache memory = 12GB + 5GB

消耗的主机内存- 主机上使用的机器内存量。消耗的内存包括 包括服务控制台、VMkernel、vSphere 服务使用的内存以及所有正在运行的虚拟机消耗的总指标。

活动访客内存- 主动使用的访客“物理”内存量。

我认为你只需要17GB!如果不想调整那么多可以放20GB

如果您想做出更准确的决定。我建议在系统活动频繁的一周或一天内每分钟使用 vmstat 命令。

本文可以帮助您: https://www.howtoing.com/linux-performance-monitoring-with-vmstat-and-iostat-commands/

相关内容