天天看點

Python程式設計:psutil子產品擷取系統資訊擷取CPU資訊擷取記憶體資訊擷取磁盤資訊擷取網絡資訊擷取程序資訊

psutil子產品:擷取系統資訊

psutil = process and system utilities

跨平台使用,支援

Linux /UNIX/OSX/Windows等

擷取CPU資訊

.cpu_count() # CPU邏輯數量
.cpu_count(logical=False) # CPU實體核心
.cpu_times() # 統計CPU的使用者/系統/空閑時間
.cpu_percent(interval=1, percpu=True) # 類似top指令的CPU使用率      

擷取記憶體資訊

.virtual_memory() # 擷取實體記憶體(位元組為機關)
.swap_memory()  # 交換記憶體資訊        

擷取磁盤資訊

.disk_partitions() # 磁盤分區資訊
.disk_usage('/') # 磁盤使用情況
.disk_io_counters() # 磁盤IO      

擷取網絡資訊

.net_io_counters() # 擷取網絡讀寫位元組/包的個數
.net_if_addrs() # 擷取網絡接口資訊
.net_if_stats() # 擷取網絡接口狀态
.net_connections() # 目前網絡連接配接資訊(需要root權限)
.test()  # 模拟出ps指令的效果      

擷取程序資訊

.pids() # 所有程序ID
.Process(3776) # 擷取指定程序ID=3776 -> p
p.name() # 程序名稱'python3.6'
p.exe() # 程序exe路徑
p.cwd() # 程序工作目錄
p.cmdline() # 程序啟動的指令行
p.ppid() # 父程序ID
p.parent() # 父程序
p.children() # 子程序清單
p.status() # 程序狀态
p.username() # 程序使用者名
p.create_time() # 程序建立時間
p.terminal() # 程序終端
p.cpu_times() # 程序使用的CPU時間
p.memory_info() # 程序使用的記憶體
p.open_files() # 程序打開的檔案
p.connections() # 程序相關網絡連接配接
p.num_threads() # 程序的線程數量
p.threads() # 所有線程資訊
p.environ() # 程序環境變量
p.terminate() # 結束程序, 自己把自己結束      

參考:

https://github.com/giampaolo/psutil