def _parse_proc_cgroups(self): """Parse /proc/cgroups""" """ #subsys_name hierarchy num_cgroups enabled cpuset 0 1 1 ns 0 1 1 cpu 1 10 1 cpuacct 0 1 1 memory 0 1 1 devices 0 1 1 freezer 0 1 1 net_cls 0 1 1 """ for line in fileops.readlines('/proc/cgroups'): m = self._RE_CGROUPS.match(line) if m is None: continue name = m.group('name') hierarchy = int(m.group('hier')) n_cgroups = int(m.group('n')) if m.group('enabled') == '1': enabled = True else: enabled = False if name not in self: self[name] = {} self[name]['name'] = name self[name]['hierarchy'] = hierarchy self[name]['num_cgroups'] = n_cgroups self[name]['enabled'] = enabled
def _parse_proc_mount(self): for line in fileops.readlines('/proc/mounts'): if 'cgroup' not in line: continue items = line.split(' ') path = items[1] opts = items[3].split(',') name = None for opt in opts: if opt in self: name = opt self.paths[name] = path if 'name=' in opt: # We treat name=XXX as its name name = opt self.paths[name] = path self[name] = {} self[name]['name'] = name self[name]['enabled'] = True self[name]['hierarchy'] = 0 self[name]['num_cgroups'] = 0 # release_agent= may appear before name= for opt in opts: if 'release_agent=' in opt: self[name]['release_agent'] = opt.replace( 'release_agent=', '')
def _parse_proc_mount(self): for line in fileops.readlines('/proc/mounts'): if 'cgroup' not in line: continue items = line.split(' ') path = items[1] opts = items[3].split(',') name = None for opt in opts: if opt in self: name = opt self.paths[name] = path if 'name=' in opt: # We treat name=XXX as its name name = opt self.paths[name] = path self[name] = {} self[name]['name'] = name self[name]['enabled'] = True self[name]['hierarchy'] = 0 self[name]['num_cgroups'] = 0 # release_agent= may appear before name= for opt in opts: if 'release_agent=' in opt: self[name]['release_agent'] = opt.replace('release_agent=', '')
def _parse_proc_cgroups(self): for line in fileops.readlines('/proc/cgroups'): m = self._RE_CGROUPS.match(line) if m is None: continue name = m.group('name') hierarchy = int(m.group('hier')) n_cgroups = int(m.group('n')) if m.group('enabled') == '1': enabled = True else: enabled = False if name not in self: self[name] = {} self[name]['name'] = name self[name]['hierarchy'] = hierarchy self[name]['num_cgroups'] = n_cgroups self[name]['enabled'] = enabled
def _parse_proc_mount(self): """Parse /proc/mounts""" """ cgroup /cgroup/cpu cgroup rw,relatime,cpuacct,cpu,release_agent=/sbin/cgroup_clean 0 0 cgroup /cgroup/memory cgroup rw,relatime,memory 0 0 cgroup /cgroup/blkio cgroup rw,relatime,blkio 0 0 cgroup /cgroup/freezer cgroup rw,relatime,freezer 0 0 """ for line in fileops.readlines('/proc/mounts'): if 'cgroup' not in line: continue items = line.split(' ') path = items[1] opts = items[3].split(',') name = None for opt in opts: if opt in self: name = opt self.paths[name] = path if 'name=' in opt: # We treat name=XXX as its name name = opt self.paths[name] = path self[name] = {} self[name]['name'] = name self[name]['enabled'] = True self[name]['hierarchy'] = 0 self[name]['num_cgroups'] = 0 # release_agent= may appear before name= for opt in opts: if 'release_agent=' in opt: self[name]['release_agent'] = opt.replace( 'release_agent=', '')
def _parse_proc_mount(self): """Parse /proc/mounts""" """ cgroup /cgroup/cpu cgroup rw,relatime,cpuacct,cpu,release_agent=/sbin/cgroup_clean 0 0 cgroup /cgroup/memory cgroup rw,relatime,memory 0 0 cgroup /cgroup/blkio cgroup rw,relatime,blkio 0 0 cgroup /cgroup/freezer cgroup rw,relatime,freezer 0 0 """ for line in fileops.readlines('/proc/mounts'): if 'cgroup' not in line: continue items = line.split(' ') path = items[1] opts = items[3].split(',') name = None for opt in opts: if opt in self: name = opt self.paths[name] = path if 'name=' in opt: # We treat name=XXX as its name name = opt self.paths[name] = path self[name] = {} self[name]['name'] = name self[name]['enabled'] = True self[name]['hierarchy'] = 0 self[name]['num_cgroups'] = 0 # release_agent= may appear before name= for opt in opts: if 'release_agent=' in opt: self[name]['release_agent'] = opt.replace('release_agent=', '')
def update(self): """It updates process information of the cgroup.""" pids = fileops.readlines(self.paths['cgroup.procs']) self.pids = [int(pid) for pid in pids if pid != ''] self.n_procs = len(pids)
def update(self): pids = fileops.readlines(self.paths['cgroup.procs']) self.pids = [int(pid) for pid in pids if pid != ''] self.n_procs = len(pids)