我的 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 的软件包