日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

python使用率_Python获取CPU、内存使用率以及网络使用状态代码

發布時間:2024/9/19 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python使用率_Python获取CPU、内存使用率以及网络使用状态代码 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

由于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

以上就是本次更新后的實例代碼,大家可以一起測試下,如果有其他問題可以在下方的留言區討論,感謝你對萬仟網的支持。

希望與廣大網友互動??

點此進行留言吧!

與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的python使用率_Python获取CPU、内存使用率以及网络使用状态代码的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。