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() #进程开启的线程数