Python運(yùn)維開發(fā)之psutil庫的使用詳解
介紹
psutil能夠輕松實(shí)現(xiàn)獲取系統(tǒng)運(yùn)行的進(jìn)程和系統(tǒng)利用率。
導(dǎo)入模塊
import psutils
獲取系統(tǒng)性能信息
CPU信息
使用cpu_times()方法獲取CPU的完整信息:
>>> psutil.cpu_times()
獲取單項(xiàng)數(shù)據(jù),例如用戶user的CPU時(shí)間比:
>>> psutil.cpu_times().user
獲取CPU的個(gè)數(shù):
>>> psutil.cpu_count() # 默認(rèn)logical=True,獲取邏輯個(gè)數(shù) >>> psutil.cpu_count(logical=False) # 獲取CPU的物理個(gè)數(shù)
內(nèi)存信息
獲取物理內(nèi)存總大小和已使用內(nèi)存:
>>> mem = psutil.virtual_memory() >>> mem # 顯示所有的參數(shù) >>> mem.total # 總內(nèi)存 >>> mem.used # 已使用內(nèi)存 >>> mem.free # 獲取空閑內(nèi)存數(shù) >>> psutil.swap_memory() # 獲取SWAP分區(qū)信息
磁盤信息
獲取磁盤完整信息:
>>> psutil.disk_partitions()
獲取分區(qū)的使用情況:
>>> psutil.disk_usage('C:/') # 里面參數(shù)為所在磁盤分區(qū)
獲取硬盤總的IO個(gè)數(shù):
>>> psutil.disk_io_counters() >>> psutil.disk_io_counters(perdisk=True) # 獲取單個(gè)分區(qū)的IO個(gè)數(shù)
網(wǎng)絡(luò)信息
獲取網(wǎng)絡(luò)總的IO信息:
>>> psutil.net_io_counters() >>> psutil.net_io_counters(pernic=True) # 輸出單個(gè)網(wǎng)絡(luò)接口的IO信息
其他系統(tǒng)信息
返回當(dāng)前登錄系統(tǒng)的用戶信息:
>>> psutil.users()
獲取開機(jī)時(shí)間:
>>> psutil.boot_time() # 以Linux時(shí)間戳格式返回
# 如果想要轉(zhuǎn)換成自然時(shí)間格式:
>>> datetime.datetime.fromtimestamp(psutil.boot_time()).strftime("%Y-%m-%d %H:%M:%S")
進(jìn)程管理
進(jìn)程信息
列出所有進(jìn)程PID
>>> psutil.pids()
實(shí)例化進(jìn)程對(duì)象
>>> p = psutil.Process(716) >>> p.name() # 進(jìn)程名 >>> p.exe() # 進(jìn)程bin路徑 >>> p.cwd() # 進(jìn)程工作目錄的絕對(duì)路徑 >>> p.status() # 進(jìn)程狀態(tài) >>> p.create_time() # 進(jìn)程創(chuàng)建時(shí)間 >>> p.uids() # 進(jìn)程uid信息 >>> p.gids() # 進(jìn)程gid信息 >>> p.cpu_times() # 進(jìn)程CPU時(shí)間信息 >>> p.cpu_affinity() # get進(jìn)程的親和度 >>> p.memory_percent() # 進(jìn)程內(nèi)存使用率 >>> p.num_threads() # 進(jìn)程開啟的線程數(shù)
popen類的使用
popen類可以獲取用戶啟動(dòng)的應(yīng)用程序進(jìn)程信息。
>>> p = putil.Popen(["/usr/bin/python","-c","print('Hello')"],stdout=subprocess.PIPE)
>>> p.name()
>>> p.username() # 創(chuàng)建進(jìn)程的用戶
>>> p.communicate()
('hello\n',None)
>>> p.cpu_times() # 得到進(jìn)程運(yùn)行的CPU時(shí)間
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
python?rsa和Crypto.PublicKey.RSA?模塊詳解
這篇文章主要介紹了python?rsa和Crypto.PublicKey.RSA?模塊,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-04-04
Python實(shí)現(xiàn)密鑰密碼(加解密)實(shí)例詳解
這篇文章主要介紹了Python實(shí)現(xiàn)密鑰密碼(加解密),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-04-04
Python使用lxml模塊和Requests模塊抓取HTML頁面的教程
用Pyhton自帶的urllib或urllib2模塊抓取網(wǎng)頁或許有些陳詞濫調(diào)了,今天我們就來玩兒些新鮮的,來看Python使用lxml模塊和Requests模塊抓取HTML頁面的教程:2016-05-05
Python實(shí)現(xiàn)的多進(jìn)程和多線程功能示例
這篇文章主要介紹了Python實(shí)現(xiàn)的多進(jìn)程和多線程功能,結(jié)合實(shí)例形式分析了Python多線程與多進(jìn)程實(shí)現(xiàn)分布式系統(tǒng)功能相關(guān)操作技巧,需要的朋友可以參考下2018-05-05
使用Python進(jìn)行PowerPoint幻燈片背景設(shè)置
設(shè)置PowerPoint幻燈片背景不僅能夠增強(qiáng)演示文稿的視覺吸引力,還能幫助傳達(dá)特定的情感或信息,本文將介紹如何使用Python為PowerPoint幻燈片設(shè)置純色、漸變及圖片背景,有需要的可以參考下2024-11-11

