您好,登錄后才能下訂單哦!
這篇文章給大家介紹怎么在python中調用psutil模塊,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
oshelper.py
#encoding=utf-8 import psutil import datetime #查看cpu的信息 print u"CPU 個數 %s"%psutil.cpu_count() print u"物理CPU個數 %s"%psutil.cpu_count(logical=False) print u"CPU uptimes" print psutil.cpu_times() print "" #查看內存信息 mem = psutil.virtual_memory() print u"系統總內存 %s G"%(mem.total/1024/1024/1024) print u"系統可用內存 %s G"%(mem.available/1024/1024/1024) mem_rate = int(mem.available)/float(mem.total) print u"系統內存使用率 %s %%"%int(mem_rate*100) #交換分區 swapmem = psutil.swap_memory() print u"交換分區 %s G"%(swapmem.total/1024/1024/1024) print u"交換分區可用 %s G"%(swapmem.free/1024/1024/1024) print u"交換分區使用率 %s %%"%int(swapmem.percent) #系統啟動時間 print u"系統啟動時間 %s"%datetime.datetime.fromtimestamp(psutil.boot_time()).strftime("%Y-%m-%d %H:%M:%S") #系統用戶 users_count = len(psutil.users()) users_list = ",".join([ u.name for u in psutil.users()]) print u"當前有%s個用戶,分別是%s"%(users_count, users_list) #網卡,可以得到網卡屬性,連接數,當前流量等信息 net = psutil.net_io_counters() bytes_sent = '{0:.2f} Mb'.format(net.bytes_recv / 1024 / 1024) bytes_rcvd = '{0:.2f} Mb'.format(net.bytes_sent / 1024 / 1024) print u"網卡接收流量 %s 網卡發送流量 %s"%(bytes_rcvd, bytes_sent) nis=psutil.net_io_counters(pernic=True) print u"網卡 " ,tuple(nis) #進程 進程的各種詳細參數 def show_process(pid): try: p = psutil.Process(pid) p.name() #進程名 #p.exe() #進程的bin路徑 #p.cwd() #進程的工作目錄絕對路徑 p.status() #進程狀態 p.create_time() #進程創建時間 #p.uids() #進程uid信息 #p.gids() #進程的gid信息 p.cpu_times() #進程的cpu時間信息,包括user,system兩個cpu信息 #p.cpu_affinity() #get進程cpu親和度,如果要設置cpu親和度,將cpu號作為參考就好 p.memory_percent() #進程內存利用率 p.memory_info() #進程內存rss,vms信息 p.io_counters() #進程的IO信息,包括讀寫IO數字及參數 #p.connectios() #返回進程列表 p.num_threads() #進程開啟的線程數 ''' 聽過psutil的Popen方法啟動應用程序,可以跟蹤程序的相關信息 from subprocess import PIPE p = psutil.Popen(["/usr/bin/python", "-c", "print('hello')"],stdout=PIPE) ''' p.name() #p.username() except: pass ''' pids=psutil.pids() for pid in pids: show_process(pid) ''' with open (r'd:\temp\test.txt','w') as f: sys.stdout=f for proc in psutil.process_iter(): ''' if proc.name() == "w3wp.exe": cpu_threshold=proc.cpu_percent(interval=2)/24 print proc.name(),proc.create_time(),cpu_threshold p.terminate() proc .kill() Iterate over all ports this process is listening to for con in proc.get_connections(): con ''' pa=proc.as_dict() print pa.get('name'),pa.get('create_time'),pa.get('pid'),pa.get('status'),pa.get('connections'),pa.get('open_files'),pa.get('cpu_percent'),pa.get('memory_percent'),pa.get('username'),pa.get('num_threads') print u"當前進程:",psutil.Process(os.getpid()).cmdline() #磁盤 磁盤的使用量等等 dps=psutil.disk_partitions() for dp in dps: dp du=psutil.disk_usage('/') print u"硬盤總共容量 %s G"%(du.total/1024/1024/1024) print u"硬盤可用 %s G"%(du.free/1024/1024/1024) print u"硬盤已用 %s %%"%(du.percent)
關于怎么在python中調用psutil模塊就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。