使用python定时采样linux cpu占用率
2013-07-20 13:51
555 查看
# -*- coding: utf-8 -*- import threading, time class GetCpuInfo(threading.Thread): def __init__(self, interval_time): threading.Thread.__init__(self) self.alive = True self.cpuinfo_list = [] self._interval_time = interval_time def get_cpu_useage(self): '''读取stat,计算用户cpu占用率''' _cpu_info = {} with open("/proc/stat") as f: lines = f.readlines() for line in lines: if line.strip() == "": continue cpu_values = line.split(' ') values = [i for i in cpu_values if i.strip() != ""] if values[0].strip() != "cpu": continue # totalCpuTime = user + nice + system + idle + iowait + irq + # softirq + stealstolen + guest # values中余下9个对应上述值 _cpu_info["totalCpuTime"] = 0 for i in range(1, 9): _cpu_info["totalCpuTime"] += int(values[i].strip()) _cpu_info["userCpuTime"] = 0 for i in range(1, 3): _cpu_info["userCpuTime"] += int(values[i].strip()) break return _cpu_info def run(self): while self.alive: time.sleep(self._interval_time) cpu_info = self.get_cpu_useage() # 计算cpu占用率 if cpu_info != {}: cpu_usage = cpu_info["userCpuTime"] * 100 / cpu_info["totalCpuTime"] self.cpuinfo_list.append(cpu_usage) def stop_task(self): self.alive = False def get_cpuinfo(self): return self.cpuinfo_list if __name__ == "__main__": # 每2秒采样一次 cpu = GetCpuInfo(2) cpu.start() time.sleep(10) cpu.stop_task() print cpu.get_cpuinfo()
相关文章推荐
- 使用python定时采样linux内存使用情况
- 转载:python获取linux系统内存、cpu、网络使用情况
- 使用python获取CPU和内存信息的思路与实现(linux系统)
- 使用Linux crontab定时执行python任务
- python获取linux系统内存、cpu、网络使用情况
- Linux实际内存占用率算法,以及使用Python实现内存监控
- 使用python获取CPU和内存信息的思路与实现(linux系统)
- Linux下使用python调用top命令获得CPU利用率
- linux使用top命令跟踪进程的CPU占用率、内存使用率
- linux系统使用python获取cpu信息脚本分享
- python获取linux系统内存、cpu、网络使用情况
- 使用python获取CPU和内存信息的思路与实现(linux系统)
- linux系统使用python获取cpu信息脚本分享
- 编程获取Linux的cpu占用率和 mem使用情况
- 【转】Linux系统下使用程序控制CPU占用率、内存占用率、网络带宽占用率的方法
- Linux中使用python crontab设置定时任务的方法详解
- 详解使用python crontab设置linux定时任务
- 编程获取Linux的cpu占用率和mem使用情况
- 详解使用python crontab设置linux定时任务
- [置顶] 【python linux下定时任务跑】crontab -e使用