DUNE-DAQ
DUNE Trigger and Data Acquisition software
Loading...
Searching...
No Matches
readout-affinity.py File Reference

Go to the source code of this file.

Namespaces

namespace  readout-affinity
 

Functions

 readout-affinity.parse_cpumask (mask)
 Parses CPU mask strings and lists.
 

Variables

str readout-affinity.info = 'Alters CPU masks of running processes with different arguments, based on a configuration file.'
 
 readout-affinity.parser = argparse.ArgumentParser(description=info)
 
 readout-affinity.type
 
 readout-affinity.str
 
 readout-affinity.required
 
 readout-affinity.True
 
 readout-affinity.help
 
 readout-affinity.args = parser.parse_args()
 
 readout-affinity.pinfile = args.pinfile
 
 readout-affinity.lcpu_count = len(os.sched_getaffinity(0))
 
 readout-affinity.pcpu_count = psutil.cpu_count(logical=False)
 
 readout-affinity.vmem = psutil.virtual_memory()
 
dict readout-affinity.affinity_dict = {}
 Parse affinity json.
 
 readout-affinity.affinity_json = json.load(f)
 
 readout-affinity.aff_value = affinity_json[proc][proc_opts][aff_field]
 
dict readout-affinity.proc_names = affinity_dict.keys()
 Apply CPU masks.
 
list readout-affinity.procs = []
 
dict readout-affinity.cmdline_dict = affinity_dict[proc.name()].keys()
 
str readout-affinity.proc_cmdline = ' '.join(proc.cmdline())
 
str readout-affinity.rss = 'Resident Set Size (RSS): ' + str('{:.2f}'.format(proc.memory_info().rss/1024/1024)) + ' [MB]'
 
str readout-affinity.vms = 'Virtual Memory Size (VMS): ' + str('{:.2f}'.format(proc.memory_info().vms/1024/1024)) + ' [MB]'
 
 readout-affinity.connections = proc.connections()
 
 readout-affinity.children = proc.children(recursive=True)
 
 readout-affinity.threads = proc.threads()
 
dict readout-affinity.mask = affinity_dict[proc.name()][cmdl]['parent']
 
 readout-affinity.cid = psutil.Process(child.id)
 
 readout-affinity.tid = psutil.Process(thread.id)
 
dict readout-affinity.thread_masks = affinity_dict[proc.name()][cmdl]['threads']
 
list readout-affinity.mask_matches = [ m for m in [(th_mask['regex'].fullmatch(tid.name()),th_mask['cpu_list']) for th_mask in thread_masks.values()] if m[0] is not None]