Using cgroups in Slackware with KVM/Libvirt

mulatinho - - 1 min read

Hello friends, I’ve been using KVM a lot of months until now and every new host server that I create I need to change the way of how Slackware seems to create cgroups, libvirt doesn’t function very good if you don’t create specific directories in ‘/sys/fs/cgroup’ tree. So, to do that for me I made this script below

# cat /etc/rc.d/rc.cgroup `#!/bin/sh

/etc/rc.d/rc.cgroup: cgroups init script

Alexandre Mulatinho <mulatinho.net>

Unmount /sys/fs/cgroup

umount /sys/fs/cgroup

Mount cgroup_root in /sys/fs/cgroup

mount -t tmpfs -o mode=755,rw cgroup_root /sys/fs/cgroup/

Mount all the subsystems available in /sys/fs/cgroup as individual directory

for i in $(lssubsys -a | sed -e ’s/,/ /g’); do     mkdir -pv /sys/fs/cgroup/$i     mount -v -t cgroup -o $i $i /sys/fs/cgroup/$i done` # chmod u+x /etc/rc.d/rc.cgroup

And now everytime my slackware system boot, my cgroups tree are build in right way that KVM and libvirt can use him to manipulate things like memory, cpu, io, disk, etc. Hope it helps someone else :-)