
On 05/30/2013 01:37 AM, Anusha Rayani wrote:
Hi,
We are implementing feature called CPU separation in the platform. So, guest VMs will have dedicated cores allocated using cgroups (cgroups hierachy related VMs managed by libvirt).
virsh cpu-stats command is not working in our platform :
virsh # cpu-stats test_vm error: Failed to virDomainGetCPUStats()
error: Requested operation is not valid: cgroup CPUACCT controller is not mounted
Which version of libvirt? Libvirt 1.0.5 included several improvements to cgroup; perhaps some of those are relevant? Libvirt is supposed to find cgroup controllers, regardless of how you spell their mount point (it inspects procfs to learn the cgroups of the current process, rather than hard-coding any particular path). Are you sure you had cpuacct mounted?
# cat /proc/cgroups #subsys_name hierarchy num_cgroups enabled cpuset 0 1 1 ns 0 1 1 cpu 1 3 1 cpuacct 0 1 1 memory 2 1 1 freezer 0 1 1 net_cls 0 1 1 blkio 0 1 1
# cat /proc/mounts cpu /dev/cgroup_cpu cgroup rw,relatime,cpu 0 0 memory /dev/cgroup_mem cgroup rw,relatime,memory 0 0
That makes it sound like you haven't mounted quite enough cgroup controllers. -- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org