由于psutil已更新到3.0.1版本,最新的代码如下:
#!/usr/bin/env python import os import time import sys import atexit import 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 state def 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 line def 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 = 1 except (KeyboardInterrupt,SystemExit): pass
以上就是本次更新后的实例代码,大家可以一起测试下,如果有其他问题可以在下方的留言区讨论,感谢你对的支持。
风云阁资源网 Design By www.bgabc.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
风云阁资源网 Design By www.bgabc.com
暂无评论...
更新日志
2024年09月23日
2024年09月23日
- 【中国音乐】盛中国《新疆之春》2004[FLAC+CUE]
- 群星《音你而来 第8期》[320K/MP3][44.64MB]
- 群星《音你而来 第8期》[FLAC/分轨][121.21MB]
- 群星《十二女声Ⅲ》[WAV/CUE/分轨][626.4MB]
- 陈百强.1993-离不开...纪念歌集2CD【华纳】【WAV+CUE】
- 于台烟.2003-爱自己【乾坤唱片】【WAV+CUE】
- 群星.2024-我们永远是我们电影原声带【乐禾发文化】【FLAC分轨】
- 【中国民乐】张维良《秋江夜泊》2004[FLAC+CUE]
- 明达年度发烧碟MasterSuperiorAudiophile2011[DSF]
- 明达年度发烧碟MasterSuperiorAudiophile2017[DSF]
- 翁立友.2008-恨孤单【大旗】【WAV+CUE】
- 群星.2009-Magic.Cover日粤精华3CD【环球】【WAV+CUE】
- 华少翌.2005-华少翌【中唱艺能】【WAV+CUE】
- 群星《十二女声Ⅱ》[WAV/CUE/分轨][527MB]
- 大自然音乐系列《漫步在山裡》[WAV/CUE/分轨][502.8MB]