KVM + QEMU + 内存 = 噩梦

KVM + QEMU + 内存 = 噩梦

我的 debian9.9 中出现了这种内存情况

root@ghds-prod-3:~# free -m
              total        used        free      shared  buff/cache   available
Mem:          16035        7821         527        7294        7685         648
Swap:          4767        1731        3036

在此主机服务器中,我在 KVM+QMEMU 上有此客户机

-- vm1
        cpu:  1
        mem:  512

-- vm2
        cpu:  1
        mem:  1024

-- vm3
        cpu:  1
        mem:  1024

-- vm4
        cpu:  1
        mem:  1024

-- vm5
        cpu:  1
        mem:  1024

-- vm6
        cpu:  1
        mem:  1024

-- vm7
        cpu:  1
        mem:  1024

-- vm8
        cpu:  1
        mem:  1024

好的。如果我想为新客户回收更多内存,需要做两件事

  • 系统无法分配内存
  • OOM 导致虚拟机因内存不足而无法运行

我尝试用这个释放缓存

root@ghds-prod-3:~# /bin/sync; echo 3 > /proc/sys/vm/drop_caches

但他什么也没做。

好的,我将其他主机的磁盘缓存方法从“无”更改为“directsync”,以防止主机缓存客户磁盘,但目前还不知道是否有效

答案1

当您使用 KVM 并想要过度使用内存时,您可以尝试在虚拟机管理程序上的 Linux 内核中启用“内核同页合并”(KSM)。

根据客户操作系统(混合)及其产生的负载,可以让你有一定的余地来过度使用内存

安装ksmtuned帮助你配置和控制 ksm 的软件包

相关内容