Python運維開發(fā)之psutil庫的使用詳解
介紹
psutil能夠輕松實現(xiàn)獲取系統(tǒng)運行的進程和系統(tǒng)利用率。
導入模塊
import psutils
獲取系統(tǒng)性能信息
CPU信息
使用cpu_times()方法獲取CPU的完整信息:
>>> psutil.cpu_times()
獲取單項數(shù)據(jù),例如用戶user的CPU時間比:
>>> psutil.cpu_times().user
獲取CPU的個數(shù):
>>> psutil.cpu_count() # 默認logical=True,獲取邏輯個數(shù) >>> psutil.cpu_count(logical=False) # 獲取CPU的物理個數(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個數(shù):
>>> psutil.disk_io_counters() >>> psutil.disk_io_counters(perdisk=True) # 獲取單個分區(qū)的IO個數(shù)
網(wǎng)絡信息
獲取網(wǎng)絡總的IO信息:
>>> psutil.net_io_counters() >>> psutil.net_io_counters(pernic=True) # 輸出單個網(wǎng)絡接口的IO信息
其他系統(tǒng)信息
返回當前登錄系統(tǒng)的用戶信息:
>>> psutil.users()
獲取開機時間:
>>> psutil.boot_time() # 以Linux時間戳格式返回
# 如果想要轉(zhuǎn)換成自然時間格式:
>>> datetime.datetime.fromtimestamp(psutil.boot_time()).strftime("%Y-%m-%d %H:%M:%S")
進程管理
進程信息
列出所有進程PID
>>> psutil.pids()
實例化進程對象
>>> p = psutil.Process(716) >>> p.name() # 進程名 >>> p.exe() # 進程bin路徑 >>> p.cwd() # 進程工作目錄的絕對路徑 >>> p.status() # 進程狀態(tài) >>> p.create_time() # 進程創(chuàng)建時間 >>> p.uids() # 進程uid信息 >>> p.gids() # 進程gid信息 >>> p.cpu_times() # 進程CPU時間信息 >>> p.cpu_affinity() # get進程的親和度 >>> p.memory_percent() # 進程內(nèi)存使用率 >>> p.num_threads() # 進程開啟的線程數(shù)
popen類的使用
popen類可以獲取用戶啟動的應用程序進程信息。
>>> p = putil.Popen(["/usr/bin/python","-c","print('Hello')"],stdout=subprocess.PIPE)
>>> p.name()
>>> p.username() # 創(chuàng)建進程的用戶
>>> p.communicate()
('hello\n',None)
>>> p.cpu_times() # 得到進程運行的CPU時間
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
使用Python3內(nèi)置文檔高效學習以及官方中文文檔
這篇文章主要給大家介紹了關于使用Python3內(nèi)置文檔高效學習以及官方中文文檔的相關資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用Python3具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧2019-05-05
Python OpenCV中的numpy與圖像類型轉(zhuǎn)換操作
這篇文章主要介紹了Python OpenCV中的numpy與圖像類型轉(zhuǎn)換操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-12-12
在django view中給form傳入?yún)?shù)的例子
今天小編就為大家分享一篇在django view中給form傳入?yún)?shù)的例子,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-07-07
使用Django框架中ORM系統(tǒng)實現(xiàn)對數(shù)據(jù)庫數(shù)據(jù)增刪改查
這篇文章主要介紹了使用Django的ORM實現(xiàn)對數(shù)據(jù)庫數(shù)據(jù)增刪改查方法,文中附含詳細示例代碼以及過程詳解,有需要的朋友可以借鑒參考下2021-09-09

