保持内存使用率较低 Ubuntu 16.04 Server 客户虚拟机

保持内存使用率较低 Ubuntu 16.04 Server 客户虚拟机

我有一台运行 KVM+QEMU 的主机和多个客户机。所有客户机都运行 Ubuntu 16.04(虚拟机安装)。

我目前的问题是,主机内存消耗(通过 htop)超过 90%。GuestVM1 有 1 GB 可用内存。登录时,我可以看到它仅使用大约 50 MB。我sysctl -w vm.drop_caches=3每小时运行一次以保持缓存较低。

但是,当我登录到主机并检查 GuestVM1 在主机上使用的内存量时,htop 返回VIRT 1480 MB RES 809 MB SHR 1020 MB

有没有办法告诉 KVM,如果客户机没有使用所有内存,则使用更少的内存(在主机上),并在需要时动态分配内存?

答案1

无需丢弃缓存;Linux 会尽可能多地缓存数据,当内存压力过高时,它会开始丢弃不再有用的页面并写回脏页面以释放备用内存。Linux 的理念是将数据缓存起来以备以后需要再次访问,如果需要内存,它会丢弃这些数据以换取您的进程所需的内存

相关内容