Centos 6.5 上带有 libvirt/kvm 的 Cgroups

Centos 6.5 上带有 libvirt/kvm 的 Cgroups

我正在尝试将虚拟机使用的所有内存限制为特定值。

在 Ubuntu 服务器上,将限制设置为“libvirt-qemu”可以解决问题。但在 CentOS 中,它会创建 libvirt/qemu/virtual-machine-name,并且似乎无法为虚拟机设置全局内存限制;唯一的方法是更改​​在 qemu 目录下创建的虚拟机的限制内存。

是否可以设置全局 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 中设置限制吗?

答案1

配置和Ubuntu有点不同。您需要CGROUP_DAEMON=sets:name添加/etc/sysconfig/libvirtd

就你的情况来说

CGROUP_DAEMON=memory:/mynamekvm

重新启动所有相关服务,即 cgconfig、libvirt 和 guest。还要确保 selinux 配置正确,或者尝试禁用然后重新启动服务。

相关内容