python psutil模塊使用方法解析
psutil(進(jìn)程和系統(tǒng)實(shí)用程序)是一個(gè)跨平臺(tái)的庫(kù),用于 在Python中檢索有關(guān)運(yùn)行進(jìn)程和系統(tǒng)利用率(CPU,內(nèi)存,磁盤,網(wǎng)絡(luò),傳感器)的信息。
它主要用于系統(tǒng)監(jiān)視,分析和限制流程資源以及運(yùn)行流程的管理。它實(shí)現(xiàn)了UNIX命令行工具提供的許多功能,例如:ps,top,lsof,netstat,ifconfig,who,df,kill,free,nice,ionice,iostat,iotop,uptime,pidof,tty,taskset,pmap。psutil目前支持以下平臺(tái):
- Linux的
- 視窗
- OSX,
- FreeBSD,OpenBSD,NetBSD
- Sun Solaris
- AIX
... 32位和64位體系結(jié)構(gòu),Python版本從2.6到3.6。
1、獲取系統(tǒng)性能信息
#! /env python3
#coding=utf-8
import psutil
''''
獲取cpu信息
'''
a = psutil.cpu_times() #使用cpu_times方法獲取cpu完成信息,需要顯示所有的cpu信息
b = psutil.cpu_times().user #獲取單項(xiàng)cpu的數(shù)據(jù)信息,如用戶user的cpu時(shí)間比
c = psutil.cpu_count() #獲取cpu的邏輯個(gè)數(shù)
print (a)
print (b)
print (c)
'''
內(nèi)存信息
'''
mem = psutil.virtual_memory() #使用pstuil.virtual_memory方法獲取內(nèi)存的完整信息
mem_total = psutil.virtual_memory().total #獲取內(nèi)存總數(shù)
mem_free = psutil.virtual_memory().free #獲取內(nèi)存剩余
print (mem)
print (mem_total)
print (mem_free)
'''
磁盤信息
'''
disk_partitions = psutil.disk_partitions() #獲取磁盤完整信息
disk_usage = psutil.disk_usage('/') #獲取整個(gè)硬盤的信息
disk_usage_c = psutil.disk_usage('C://') #獲取分區(qū)c的硬盤信息
disk_io = psutil.disk_io_counters() #獲取硬盤的總io個(gè)數(shù)、讀寫(xiě)信息
disk_io_perdisk = psutil.disk_io_counters(perdisk=True) #‘perdisk=True'參數(shù)獲取單個(gè)分區(qū)IO個(gè)數(shù)、讀寫(xiě)信息
print (disk_partitions)
print (disk_usage)
print (disk_usage_c)
print ('硬盤總io=' +str(disk_io))
print ('單個(gè)分區(qū)信息='+str(disk_io_perdisk))
'''
網(wǎng)絡(luò)信息
'''
net_io = psutil.net_io_counters() #獲取網(wǎng)絡(luò)總IO信息、默認(rèn)pernic=False
net_io_pernic = psutil.net_io_counters(pernic=True) #獲取每個(gè)網(wǎng)卡的io信息
net_connections = psutil.net_connections()#獲取所有的連接信息
print (net_io)
print (net_io_pernic)
print (net_connections)
'''
其他系統(tǒng)信息
'''
users = psutil.users() #當(dāng)前登錄系統(tǒng)的用戶信息
import datetime
boot_time = psutil.boot_time() #獲取開(kāi)機(jī)時(shí)間,為linux格式
boot_time_nu = datetime.datetime.fromtimestamp(psutil.boot_time()).strftime('%Y-%m-%d%H:%M:%S') #轉(zhuǎn)換為自然格式
print (users)
print (boot_time)
print (boot_time_nu)
2、系統(tǒng)進(jìn)程管理
#! /env python3 #coding=utf-8 import psutil ''' 進(jìn)程信息 ''' pids = psutil.pids() #列出所有進(jìn)程id pids_4644= psutil.Process(4644) #列出指定pid為4644的進(jìn)程信息 print (pids) print (pids_4644.name()) #輸出進(jìn)程名 print (pids_4644.exe()) #輸出進(jìn)程路徑 print (pids_4644.cwd()) #輸出絕對(duì)路徑 print (pids_4644.status()) #輸出進(jìn)程狀態(tài) print (pids_4644.create_time()) #輸出創(chuàng)建時(shí)間、時(shí)間戳格式 #print (pids_4644.gid()) #輸出進(jìn)程gid信息 print (pids_4644.cpu_times) #輸出cpu時(shí)間信息,包括user,system兩個(gè)cpu時(shí)間 print (pids_4644.cpu_affinity()) #get進(jìn)程cpu親和度 print (pids_4644.memory_percent()) #進(jìn)程利用率 print (pids_4644.memory_info) #進(jìn)程內(nèi)存信息 print (pids_4644.io_counters()) #進(jìn)程io信息,包括讀寫(xiě)IO數(shù)及字節(jié)數(shù) print (pids_4644.connections()) #返回打開(kāi)進(jìn)程sockert的namedutples列表、包括fs,family等信息 print (pids_4644.num_threads()) #進(jìn)程開(kāi)啟的線程數(shù) ''' popen類的使用 ''' import psutil from subprocess import PIPE #通過(guò)psutil的popen方法啟動(dòng)的應(yīng)用程序,可以跟蹤該程序的所有相關(guān)信息
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
python語(yǔ)言實(shí)現(xiàn)貪吃蛇游戲
這篇文章主要為大家詳細(xì)介紹了python語(yǔ)言實(shí)現(xiàn)貪吃蛇游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-11-11
Scrapy爬蟲(chóng)多線程導(dǎo)致抓取錯(cuò)亂的問(wèn)題解決
本文針對(duì)Scrapy爬蟲(chóng)多線程導(dǎo)致抓取錯(cuò)亂的問(wèn)題進(jìn)行了深入分析,并提出了相應(yīng)的解決方案,具有一定的參考價(jià)值,感興趣的可以了解一下2023-11-11
在服務(wù)器上安裝python3.8.2環(huán)境的教程詳解
這篇文章主要介紹了在服務(wù)器上安裝python3.8.2環(huán)境的教程詳解,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-04-04
python pandas中DataFrame類型數(shù)據(jù)操作函數(shù)的方法
下面小編就為大家分享一篇python pandas中DataFrame類型數(shù)據(jù)操作函數(shù)的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-04-04
Python定義二叉樹(shù)及4種遍歷方法實(shí)例詳解
這篇文章主要介紹了Python定義二叉樹(shù)及4種遍歷方法,結(jié)合實(shí)例形式較為詳細(xì)的分析了二叉樹(shù)的概念、原理,以及Python定義與遍歷二叉樹(shù)相關(guān)操作技巧,需要的朋友可以參考下2018-07-07
Python + opencv對(duì)拍照得到的圖片進(jìn)行背景去除的實(shí)現(xiàn)方法
這篇文章主要介紹了Python + opencv對(duì)拍照得到的圖片進(jìn)行背景去除的實(shí)現(xiàn)方法,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-11-11
python中import,from……import的使用詳解
這篇文章主要介紹了python中import,from……import的使用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-02-02
解決Pytorch自定義層出現(xiàn)多Variable共享內(nèi)存錯(cuò)誤問(wèn)題
這篇文章主要介紹了解決Pytorch自定義層出現(xiàn)多Variable共享內(nèi)存錯(cuò)誤問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-06-06
Python解析命令行讀取參數(shù)--argparse模塊使用方法
這篇文章主要介紹了Python解析命令行讀取參數(shù)--argparse模塊使用方法,需要的朋友可以參考下2018-01-01
PyQt+socket實(shí)現(xiàn)遠(yuǎn)程操作服務(wù)器的方法示例
這篇文章主要介紹了PyQt+socket實(shí)現(xiàn)遠(yuǎn)程操作服務(wù)器的方法示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08

