Я пытаюсь ограничить всю память, используемую виртуальными машинами, до определенного значения.
На серверах 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
Есть идеи, как установить ограничения в libvirt в системах CentOS?
Конфигурация мало отличается от Ubuntu. Вам нужно добавить CGROUP_DAEMON=sets:name
в /etc/sysconfig/libvirtd
.
в вашем случае это
CGROUP_DAEMON=memory:/mynamekvm
Перезапустите все соответствующие службы, например cgconfig, libvirt и гости. Также убедитесь, что selinux настроен правильно, или попробуйте отключить, а затем перезапустить службы.