国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python獲取CPU、內(nèi)存使用率以及網(wǎng)絡使用狀態(tài)代碼

2020-02-22 23:11:03
字體:
來源:轉載
供稿:網(wǎng)友

由于psutil已更新到3.0.1版本,最新的代碼如下:

#!/usr/bin/env pythonimport osimport timeimport sysimport atexitimport psutil#print "Welcome,current system is",os.name," 3 seconds late start to get data"time.sleep(3)line_num = 1#function of Get cpu statedef getCPUstate(interval=1):  return (" CPU:"+str(psutil.cpu_percent(interval))+"%")def getMemorystate():  phymem = psutil.virtual_memory()  line = "Memory: %5s%% %6s/%s"%(      phymem.percent,      str(int(phymem.used/1024/1024))+"M",      str(int(phymem.total/1024/1024))+"M"      )  return linedef bytes2human(n):  """  >>>bytes2human(10000)  '9.8k'  >>>bytes2human(100001221)  '95.4M'  """  symbols = ('K','M','G','T','P','E','Z','Y')  prefix = {}  for i ,s in enumerate(symbols):    prefix[s] = 1 << (i+1)*10  for s in reversed(symbols):    if n >=prefix[s]:      value = float(n) / prefix[s]      return '%.2f %s'%(value,s)  return '%.2fB'%(n)def poll(interval):  """Retrieve raw stats within an interval window."""  tot_before = psutil.net_io_counters()  pnic_before = psutil.net_io_counters(pernic=True)  #sleep some time  time.sleep(interval)  tot_after = psutil.net_io_counters()  pnic_after = psutil.net_io_counters(pernic=True)  #get cpu stats  cpu_state = getCPUstate(interval)  #get memory  memory_state = getMemorystate()  return (tot_before,tot_after,pnic_before,pnic_after,cpu_state,memory_state)def refresh_window(tot_before,tot_after,pnic_before,pnic_after,cpu_state,memory_state):  """print stats on screen"""  #print current time,cpu state,memory  print (time.asctime() +" | "+cpu_state+" | "+      memory_state)  #total  print(" NetStates:")  print(" total bytes: sent: %-10s received: %s"%(/    bytes2human(tot_after.bytes_sent), /    bytes2human(tot_after.bytes_recv)))  print( " total packets: sent: %-10s received: %s"%(/    tot_after.packets_sent,/    tot_after.packets_recv))  # per-network interface details: let's sort network interfaces so    # that the ones which generated more traffic are shown first  print( " ")  nic_names = pnic_after.keys()  #nic_names.sort(key=lambda x: sum(pnic_after[x]), reverse=True)  for name in nic_names:    stats_before = pnic_before[name]    stats_after = pnic_after[name]    templ = "%-15s %15s %15s"      print(templ % (name, "TOTAL", "PER-SEC"))     print(templ % (      "bytes-sent",        bytes2human(stats_after.bytes_sent),       bytes2human(stats_after.bytes_sent - stats_before.bytes_sent) +      '/s',       ))    print(templ % (        "bytes-recv",        bytes2human(stats_after.bytes_recv),        bytes2human(stats_after.bytes_recv- stats_before.bytes_recv)      + '/s',        ))    print(templ % (       "pkts-sent",      stats_after.packets_sent,      stats_after.packets_sent - stats_before.packets_sent,      ))    print((templ %(      "pkts-recv",       stats_after.packets_recv,      stats_after.packets_recv - stats_before.packets_recv,      )))    print( " ")try:  interval = 0  while 1:    args = poll(interval)    refresh_window(*args)    interval = 1except (KeyboardInterrupt,SystemExit):  pass            
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 崇明县| 建始县| 阿城市| 高安市| 犍为县| 鄂托克前旗| 湟中县| 肇源县| 青海省| 盐池县| 新巴尔虎左旗| 洪洞县| 信丰县| 盘山县| 云林县| 莲花县| 巴马| 黑河市| 沙湾县| 徐闻县| 大连市| 盐边县| 会泽县| 阿克| 闸北区| 临汾市| 利辛县| 临颍县| 尉氏县| 福建省| 巴彦淖尔市| 全椒县| 恩施市| 阜新市| 西昌市| 金溪县| 乐清市| 绿春县| 张家界市| 汽车| 榕江县|