psuti模塊
psutil是一個(gè)跨平臺庫帜乞,能夠輕松實(shí)現(xiàn)獲取系統(tǒng)運(yùn)行的進(jìn)程和系統(tǒng)利用率(包括CPU、內(nèi)存筐眷、磁盤黎烈、網(wǎng)絡(luò)等)信息。
它主要應(yīng)用于系統(tǒng)監(jiān)控匀谣,分析和限制系統(tǒng)資源及進(jìn)程的管理怨喘。它實(shí)現(xiàn)了同等命令行工具提供的功能,如ps振定、top必怜、lsof、netstat后频、 ifconfig梳庆、who、df卑惜、kill膏执、free、nice露久、ionice更米、iostat、iotop毫痕、uptime征峦、pidof、tty消请、taskset栏笆、pmap等。
psutil安裝
pip3 install psutil? ? ? ? #如果報(bào)錯(cuò)的話使用下面命令更新pip即可
python3 -m pip install --upgrade --force pip
import psutil? ?#導(dǎo)入模塊
1.CPU信息
psutil.cpu_times()? ? #獲取cpu的完整信息
psutil.cpu_percent()? ? #獲取cpu使用百分比
#獲取單項(xiàng)數(shù)據(jù)的等待時(shí)間
>>> psutil.cpu_times().user
63286.9
>>> psutil.cpu_times().iowait
1092.58
#CPU邏輯個(gè)數(shù)
>>> psutil.cpu_count()? ? #CPU物理個(gè)數(shù)臊泰,默認(rèn)True
>>> psutil.cpu_count(logical=False)????#CPU物理個(gè)數(shù)
2.內(nèi)存信息
>>> mem = psutil.virtual_memory()? ? #內(nèi)存完整信息
>>> mem.total,mem.used,mem.free#總蛉加、使用、剩余
(1928540160, 439656448, 166010880)
mem.total/1024/1024? ? #內(nèi)存總數(shù)易讀
?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)#各個(gè)磁盤讀寫信息
4.網(wǎng)絡(luò)信息:
psutil.net_io_counters()? ??#獲取網(wǎng)絡(luò)總io情況
psutil.net_io_counters()? ??#各網(wǎng)卡的io情況
5.其他系統(tǒng)信息:
psutil.boot_time()? ? #獲取系統(tǒng)開機(jī)時(shí)間
psutil.pids()? ? #查看系統(tǒng)全部進(jìn)程
查看單個(gè)進(jìn)程信息:
p = psutil.Process(1)
p.name()????#進(jìn)程名
p.exe()?????#進(jìn)程的系統(tǒng)路徑
p.cwd()????#進(jìn)程的工作目錄絕對路徑
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.memory_percent()????#進(jìn)程內(nèi)存使用率
p.io_counters()????#進(jìn)程的IO信息
p.connections()????#返回進(jìn)程列表
p.num_threads()? ? ? ??#進(jìn)程開啟的線程數(shù)