python統(tǒng)計cpu利用率的方法
更新時間:2015年06月02日 17:21:13 作者:dingding
這篇文章主要介紹了python統(tǒng)計cpu利用率的方法,涉及Python中win32pdh模塊的使用技巧,需要的朋友可以參考下
本文實例講述了python統(tǒng)計cpu利用率的方法。分享給大家供大家參考。具體實現方法如下:
#-*-coding=utf-8-*-
import win32pdh
import time
# Counter paths
PROCESSOR_PERCENT = r'\Processor(_Total)\% Processor Time'
MEMORY_PERCENT = r'\Memory\% Committed Bytes In Use'
MEMORY_COMMITTED = r'\Memory\Committed Bytes'
PROCESS_BYTES = lambda x: r'\Process(%s)\Private Bytes' % x
class Query:
def __init__(self):
self.counters = {}
self.query = None
self.query = win32pdh.OpenQuery(None, 0)
def add_counter(self, path):
if win32pdh.ValidatePath(path) != 0:
raise Exception('Invalid path: %s' % path)
counter = win32pdh.AddCounter(self.query, path, 0)
self.counters[path] = counter
def remove_counter(self, path):
win32pdh.RemoveCounter(self.counters[path])
del self.counters[path]
def get_values(self):
values = {}
win32pdh.CollectQueryData(self.query)
for path in self.counters:
status, value = win32pdh.GetFormattedCounterValue(
self.counters[path], win32pdh.PDH_FMT_LONG)
values[path] = value
return values
sysinfo_query = Query()
sysinfo_query.add_counter(PROCESSOR_PERCENT)
sysinfo_query.add_counter(MEMORY_PERCENT)
sysinfo_query.get_values()
def get_sysinfo():
"""Return a tuple (mem_usage, cpu_usage)."""
info = sysinfo_query.get_values()
return info[MEMORY_PERCENT], info[PROCESSOR_PERCENT]
listcpu=[]
while True:
time.sleep(2)
x,y=get_sysinfo()
listcpu.append(y)
if len(listcpu)==10:
icount=0
for c in listcpu:
if c>4:
icount+=1
if icount>5:
print "在統(tǒng)計的1分鐘內,cpu已經有5次大于4%"
listcpu=[]
print y
希望本文所述對大家的Python程序設計有所幫助。
您可能感興趣的文章:
- Python統(tǒng)計列表中的重復項出現的次數的方法
- python實現簡單中文詞頻統(tǒng)計示例
- Python實現統(tǒng)計單詞出現的個數
- Python實現對excel文件列表值進行統(tǒng)計的方法
- python統(tǒng)計一個文本中重復行數的方法
- 用Python中的字典來處理索引統(tǒng)計的方法
- Python中統(tǒng)計函數運行耗時的方法
- python數據結構之二叉樹的統(tǒng)計與轉換實例
- python高斯分布概率密度函數的使用詳解
- python實現beta分布概率密度函數的方法
- Python實現的概率分布運算操作示例
- Python統(tǒng)計分析模塊statistics用法示例
相關文章
Python解決pip install時出現的Could not fetch URL問題
這篇文章主要介紹了Python解決pip install時出現的Could not fetch URL問題,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2019-08-08

