4 from resource
import getrusage, RUSAGE_SELF, RUSAGE_CHILDREN
5 from time
import sleep, time
7 PROCMONVERSION=
"$Id: DQProcMonitor.py 359096 2011-04-15 13:25:36Z kama $"
10 fieldnames=[
"utime",
"stime",
"maxrss",
"shrmem",
"ushrmem",
"ushrstk",
"minflt",
11 "majflt",
"nswap",
"inblock",
"oublock",
"msgsnd",
"msgrcv",
12 "nsignals",
"nvcontsw",
"nivcontsw"]
13 return ", ".
join([
"=".
join([n,
"%s"%v]
if isinstance(v, int)
else [n,
"%f"%v])
for n,v
in zip(fieldnames,rusage)])
19 pollPeriod = kwargs.pop(
"poll_period", 1.0)
22 filename = kwargs.pop(
"file_name",
"DQResourceUtilization.txt")
23 print(
"Monitoring thread poll period=",pollPeriod,
"seconds, output file name=\"%s\""%filename)
24 with open(filename,
'w')
as resoutfile:
27 ru=getrusage(RUSAGE_SELF)
28 cru=getrusage(RUSAGE_CHILDREN)
39 from threading
import Thread
40 ResMon=Thread(target=DQProcMon,args=[],kwargs={
'poll_period':pollPeriod,
41 'file_name':file_name})
44 print(
"========Starting DQProcMonThread==============")