psuti模塊
psutil是一個跨平臺庫,能夠輕松實現獲取系統運行的進程和系統利用率(包括CPU、內存、磁盤、網絡等)信息。
它主要應用于系統監控,分析和限制系統資源及進程的管理。它實現了同等命令行工具提供的功能,如ps、top、lsof、netstat、 ifconfig、who、df、kill、free、nice、ionice、iostat、iotop、uptime、pidof、tty、taskset、pmap等。
psutil安裝
pip3 install psutil? ? ? ? #如果報錯的話使用下面命令更新pip即可
python3 -m pip install --upgrade --force pip
import psutil? ?#導入模塊
1.CPU信息
psutil.cpu_times()? ? #獲取cpu的完整信息
psutil.cpu_percent()? ? #獲取cpu使用百分比
#獲取單項數據的等待時間
>>> psutil.cpu_times().user
63286.9
>>> psutil.cpu_times().iowait
1092.58
#CPU邏輯個數
>>> psutil.cpu_count()? ? #CPU物理個數,默認True
>>> psutil.cpu_count(logical=False)????#CPU物理個數
2.內存信息
>>> mem = psutil.virtual_memory()? ? #內存完整信息
>>> mem.total,mem.used,mem.free#總、使用、剩余
(1928540160, 439656448, 166010880)
mem.total/1024/1024? ? #內存總數易讀
?3.磁盤信息
psutil.disk_partitions()? ? #磁盤掛載信息
psutil.disk_usage("/")? ? #指定/的磁盤信息
sdiskusage(total=42139451392, used=5573623808, free=34401673216, percent=13.9)
psutil.disk_io_counters()? ? #獲取磁盤讀寫信息
psutil.disk_io_counters(perdisk=True)#各個磁盤讀寫信息
4.網絡信息:
psutil.net_io_counters()? ??#獲取網絡總io情況
psutil.net_io_counters()? ??#各網卡的io情況
5.其他系統信息:
psutil.boot_time()? ? #獲取系統開機時間
psutil.pids()? ? #查看系統全部進程
查看單個進程信息:
p = psutil.Process(1)
p.name()????#進程名
p.exe()?????#進程的系統路徑
p.cwd()????#進程的工作目錄絕對路徑
p.status()????#進程狀態
p.create_time()????#進程創建時間
p.uids()?????#進程uid信息
p.gids()????#進程的gid信息
p.cpu_times()????#進程的cpu時間信息
p.memory_percent()????#進程內存使用率
p.io_counters()????#進程的IO信息
p.connections()????#返回進程列表
p.num_threads()? ? ? ??#進程開啟的線程數