Python中psutil模塊使用匯總
簡介:psutil(進程和系統(tǒng)實用程序)是一個跨平臺庫,用于檢索Python中運行進程和系統(tǒng)利用率(CPU、內(nèi)存、磁盤、網(wǎng)絡(luò)、傳感器)的信息。它主要用于系統(tǒng)監(jiān)視、分析和限制進程資源以及管理正在運行的進程。它實現(xiàn)了經(jīng)典UNIX命令行工具提供的許多功能,如ps、top、iotop、lsof、netstat、ifconfig、free等。
支持的平臺:Linux、Windows、macOS、FreeBSD, OpenBSD, NetBSD、Sun Solaris、AIX等平臺。
安裝:
pip install psutil
用戶系統(tǒng)信息:
import psutil import datetime print("當前用戶:", psutil.users()) print("當前系統(tǒng)時間:", psutil.boot_time()) # 以時間戳格式返回) print(datetime.datetime.fromtimestamp(psutil.boot_time()).strftime("%Y-%m-%d %H: %M: %S")) # 轉(zhuǎn)換成自然時間格式
內(nèi)存信息:
mem = psutil.virtual_memory() print("系統(tǒng)內(nèi)存全部信息:", mem) mem_total = float(mem.total) mem_used = float(mem.used) mem_free = float(mem.free) mem_percent = float(mem.percent) print(f"系統(tǒng)總計內(nèi)存:{mem_total}") print(f"系統(tǒng)已經(jīng)使用內(nèi)存:{mem_used}") print(f"系統(tǒng)空閑內(nèi)存:{mem_free}") print(f"系統(tǒng)內(nèi)存使用率:{mem_percent}")
CPU信息:
print("CPU匯總信息:", psutil.cpu_times()) print("cpu邏輯個數(shù):", psutil.cpu_count()) print("swap內(nèi)存信息:", psutil.swap_memory())
磁盤信息:
print("獲取磁盤的完整信息:", psutil.disk_partitions()) print("獲取分區(qū)表的參數(shù):", psutil.disk_usage('/')) # 獲取/分區(qū)的狀態(tài) print("獲取硬盤IO總個數(shù):", psutil.disk_io_counters()) print("獲取單個分區(qū)IO個數(shù):", psutil.disk_io_counters(perdisk=True)) # perdisk=True參數(shù)獲取單個分區(qū)IO個數(shù)
網(wǎng)絡(luò)信息:
print("獲取網(wǎng)絡(luò)總IO信息:", psutil.net_io_counters())
系統(tǒng)進程管理信息:
print("查看系統(tǒng)全部進程:", psutil.pids())
單個進程的詳細信息:
pid_info = psutil.Process(1200) print(pid_info.name()) # 進程名 print(pid_info.exe()) # 進程的bin路徑 print(pid_info.status()) # 進程狀態(tài) print(pid_info.create_time()) # 進程創(chuàng)建時間 print(pid_info.cpu_times()) # 進程的cpu時間信息,包括user,system兩個cpu信息 print(pid_info.memory_percent()) # 進程內(nèi)存利用率 print(pid_info.memory_info()) # 進程內(nèi)存rss,vms信息 print(pid_info.io_counters()) # 進程的IO信息,包括讀寫IO數(shù)字及參數(shù) print(pid_info.num_threads()) # 進程開啟的線程數(shù)
源碼:
import psutil import datetime # 用戶,系統(tǒng)相關(guān): print("當前用戶:", psutil.users()) print("當前系統(tǒng)時間:", psutil.boot_time()) # 以linux時間格式返回) print(datetime.datetime.fromtimestamp(psutil.boot_time()).strftime("%Y-%m-%d %H: %M: %S")) # 轉(zhuǎn)換成自然時間格式 # 內(nèi)存相關(guān): mem = psutil.virtual_memory() print("系統(tǒng)內(nèi)存全部信息:", mem) mem_total = float(mem.total) mem_used = float(mem.used) mem_free = float(mem.free) mem_percent = float(mem.percent) print(f"系統(tǒng)總計內(nèi)存:{mem_total}") print(f"系統(tǒng)已經(jīng)使用內(nèi)存:{mem_used}") print(f"系統(tǒng)空閑內(nèi)存:{mem_free}") print(f"系統(tǒng)內(nèi)存使用率:{mem_percent}") # CPU相關(guān): print("CPU匯總信息:", psutil.cpu_times()) print("cpu邏輯個數(shù):", psutil.cpu_count()) print("swap內(nèi)存信息:", psutil.swap_memory()) # 磁盤相關(guān): print("獲取磁盤的完整信息:", psutil.disk_partitions()) print("獲取分區(qū)表的參數(shù):", psutil.disk_usage('/')) # 獲取/分區(qū)的狀態(tài) print("獲取硬盤IO總個數(shù):", psutil.disk_io_counters()) print("獲取單個分區(qū)IO個數(shù):", psutil.disk_io_counters(perdisk=True)) # perdisk=True參數(shù)獲取單個分區(qū)IO個數(shù) # 網(wǎng)絡(luò)相關(guān): print("獲取網(wǎng)絡(luò)總IO信息:", psutil.net_io_counters()) # 系統(tǒng)進程管理: print("查看系統(tǒng)全部進程:", psutil.pids()) # 單個進程的詳細信息: pid_info = psutil.Process(1200) print(pid_info.name()) # 進程名 print(pid_info.exe()) # 進程的bin路徑 print(pid_info.status()) # 進程狀態(tài) print(pid_info.create_time()) # 進程創(chuàng)建時間 print(pid_info.cpu_times()) # 進程的cpu時間信息,包括user,system兩個cpu信息 print(pid_info.memory_percent()) # 進程內(nèi)存利用率 print(pid_info.memory_info()) # 進程內(nèi)存rss,vms信息 print(pid_info.io_counters()) # 進程的IO信息,包括讀寫IO數(shù)字及參數(shù) print(pid_info.num_threads()) # 進程開啟的線程數(shù)
運行結(jié)果:
到此這篇關(guān)于Python中psutil模塊使用的文章就介紹到這了,更多相關(guān)Python psutil模塊內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python數(shù)據(jù)結(jié)構(gòu)棧實現(xiàn)進制轉(zhuǎn)換簡單示例
眾所周知計算機的內(nèi)存都是以二進制的形式進行數(shù)據(jù)存儲,下面這篇文章主要給大家介紹了關(guān)于Python數(shù)據(jù)結(jié)構(gòu)棧實現(xiàn)進制轉(zhuǎn)換的相關(guān)資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下2023-02-02使用matplotlib創(chuàng)建Gif動圖的實現(xiàn)
本文主要介紹了使用matplotlib創(chuàng)建Gif動圖的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2022-04-04關(guān)于Django Models CharField 參數(shù)說明
這篇文章主要介紹了關(guān)于Django Models CharField 參數(shù)說明,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-03-03基于Python+tkinter實現(xiàn)簡易計算器桌面軟件
tkinter是Python的標準GUI庫,對于初學者來說,它非常友好,因為它提供了大量的預(yù)制部件,本文小編就來帶大家詳細一下如何利用tkinter制作一個簡易計算器吧2023-09-09python GUI庫圖形界面開發(fā)之pyinstaller打包python程序為exe安裝文件
這篇文章主要介紹了python GUI庫圖形界面開發(fā)之pyinstaller打包python程序為exe安裝文件,需要的朋友可以參考下2020-02-02