def get_avg_cpu_load(self):
"""Returns the average cpu load since the last call
Returns the user and system time fraction per second as tuple or None
"""
if not self.start_wall_time:
rusage = resource.getrusage(resource.RUSAGE_SELF)
self.start_wall_time = time.time()
self.start_cpu_user_time = rusage.ru_utime
self.start_cpu_sys_time = rusage.ru_stime
return None
else:
now = time.time()
rusage = resource.getrusage(resource.RUSAGE_SELF)
time_delta = now-self.start_wall_time
avg_user_time = (rusage.ru_utime-self.start_cpu_user_time)/time_delta
avg_sys_time = (rusage.ru_stime-self.start_cpu_sys_time)/time_delta
self.start_wall_time = now
self.start_cpu_user_time = rusage.ru_utime
self.start_cpu_sys_time = rusage.ru_stime
return avg_user_time, avg_sys_time
评论列表
文章目录