#!/usr/bin/python import os def main(): cgroupDir = '/sys/fs/cgroup/' lxcDir = '/libvirt/lxc/' print "################################" print "Memory stats per LinuX Container" print "################################" memoryDir = cgroupDir + 'memory' + lxcDir for dirname, dirnames, filenames in os.walk(memoryDir): for subdirname in dirnames: lxcName = os.path.relpath(subdirname) with open(os.path.join(dirname, subdirname)+'/memory.stat', 'r') as f: lines = f.read().splitlines() mem_rss = 0 mem_cache = 0 mem_swap = 0 for line in lines: data = line.split() if data[0] == "total_rss": mem_rss = int(data[1]) elif data[0] == "total_cache": mem_cache = int(data[1]) elif data[0] == "total_swap": mem_swap = int(data[1]) print lxcName, mem_rss, mem_cache, mem_swap print print "#############################" print "CPU stats per LinuX Container" print "#############################" cpuacctDir = cgroupDir + 'cpu,cpuacct' + '/system/libvirtd.service/' + lxcDir for dirname, dirnames, filenames in os.walk(cpuacctDir): for subdirname in dirnames: lxcName = os.path.relpath(subdirname) cpu_usage = 0 with open(os.path.join(dirname, subdirname)+'/cpuacct.usage', 'r') as f: cpu_usage = int(f.readline()) print lxcName, cpu_usage if __name__ == "__main__": main()