在Centos 6.5上使用libvirt / kvm的Cgroups

我试图限制虚拟机使用的所有内存到一个特定的值。

在Ubuntu服务器上,设置“libvirt-qemu”限制解决了这个问题。 但是在CentOS中,它创build了libvirt / qemu / virtual-machine-name,看起来像是不可能为虚拟机设置全局内存限制; 而是唯一的方法是更改​​在qemu目录下创build的限制虚拟机的内存。

是否可以设置全局cgroup内存限制?

mount { cpuset = /cgroup/cpuset; cpu = /cgroup/cpu; cpuacct = /cgroup/cpuacct; memory = /cgroup/memory; devices = /cgroup/devices; freezer = /cgroup/freezer; net_cls = /cgroup/net_cls; blkio = /cgroup/blkio; } group mynamekvm { perm { admin { uid = root; gid = root; } task { #uid of qemu and gid of kvm uid = 107; gid = 37; } } memory { memory.limit_in_bytes = 61G; } 

}

我在cgrules.conf中有这个设置

  qemu memory mynamekvm 

并重新启动cgconfig和libvirtd并重新启动虚拟机,

但仍然

 mynamekvm/memory.usage_in_bytes is 0 

任何想法如何在centos系统上设置libvirt限制?

configuration与Ubuntu稍有不同。 您需要在/etc/sysconfig/libvirtd添加CGROUP_DAEMON=sets:name

在你的情况是这样的

 CGROUP_DAEMON=memory:/mynamekvm 

重新启动所有与cgconfig,libvirt和guest相关的服务。 同时确保selinuxconfiguration正确,或尝试禁用然后重新启动服务。