系统资源监控-psutil

169 阅读3分钟

一、 介绍

psutil(python 系统和进程实用程序)是一个跨平台库,用于 在Python中检索有关正在运行的 进程系统利用率(CPU、内存、磁盘、网络、传感器)的信息。它主要用于系统监控分析限制进程资源管理正在运行的进程

二、相关api

获取CPU信息

  • cpu_count: 返回系统中逻辑CPU的数量,逻辑CPU是指物理内核数乘以每个内核上可以运行的线程数(这里称为超线程),如果logical设置为False则返回物理内核的数量
print('逻辑CPU的数量:', psutil.cpu_count())

print('物理内核的数量:',  psutil.cpu_count(logical=False))

image.png

  • cpu_times:以元组的形式返回系统CPU的时间
print('以元组的形式返回系统CPU的时间', psutil.cpu_times())

image.png

  • user:正常进程在用户模式下执行所花费的时间

  • system:在内核模式下执行的进程所花费的时间

  • idle:什么都不做的时间

  • interrupt:服务硬件中断所花费的时间

  • dpc:花费在dpc过程中的时间

  • cpu_percent: 以百分比表示当前系统范围的 CPU 利用率,该api有两个参数,分别是interval和percpu,代表时间间隔和是否输出每个CPU的利用率

print('CPU使用率:',  psutil.cpu_percent(interval=1, percpu=True))
print('CPU使用率:',  psutil.cpu_percent(interval=1, percpu=False))

image.png

内存信息

  • virtual_memory:以命名元组的形式返回有关系统内存使用情况的统计信息,包括以下字段,以字节表示。
print('系统内存使用情况:', psutil.virtual_memory())

image.png

- total:物理内存的总数
- available:可⽤内存,表示没有进⼊交换区的内存,可以直接分配给进程。
- percent:使用百分比计算的值
- used:已经被使⽤的内存数
- free:空闲内存,指完全没有被使⽤的内存
  • swap_memory:⽤于获取交换分区的信息

磁盘信息

  • disk_partitions:返回所有挂载的磁盘分区作为命名元组的列表,包括设备、挂载点和文件系统类型
print('获取硬盘的分区信息:', psutil.disk_partitions())

image.png

  • disk_usage:返回有关包含给定路径的分区的磁盘使用统计信息
print('获取指定目录的磁盘信息:', psutil.disk_usage('/'))

image.png

  • disk_io_counters:返回系统范围的磁盘 I/O 统计信息
print('获取指定目录的磁盘信息:', psutil.disk_io_counters())

image.png

网络信息

  • net_io_counters:⽤于获取⽹络总的I/O信息,返回⼀个元组,默认pernic=False,当pernic为True时返回每个⽹路接⼝的I/O信息
    • bytes_sent: 发出的⽐特数
    • bytes_recv: 收到的⽐特数
    • packets_sent:发出的包数量
    • packets_recv: 接受的包数量
    • errin:接收时出现的错误总数
    • errout: 发送时出现的错误总数
    • dropin: 发送过来时丢包的数量
    • dropout: 发出时丢包的数量
print('获取收到的数据包数量', psutil.net_io_counters())

image.png

  • net_connection:返回⼀个系统中的套接字的链接信息,以⼀个列表的形式返回
print('获取收到的数据包数量', psutil.net_connections())

image.png

不足之处,请留言。 未完待续!!!