Python标准库学习之psutil内存详解

 更新时间:2021年09月26日 09:40:59   作者:朱小五是凹凸君呀  
本篇文章给大家介绍一个Python标准库中的psutil模块,它是一个跨平台库,下面来学习一下器常用的功能及使用方法吧,有需要的同学可以借鉴参考下

人生苦短,快学Python!

今天介绍的是psutil模块,它是一个跨平台库 https://github.com/giampaolo/psutil

命令行下通过pip安装:

pip install psutil

如果跟我一样安装的是Anaconda,则剩下这步了,因为自带了。

顾名思义

psutil = process and system utilities

它专门用来获取操作系统以及硬件相关的信息,比如:CPU、内存、磁盘、网络、进程管理等。

=

今天这篇文章,就来给大家介绍一下其常用功能和使用方法。

查询CPU信息

先导入psutil模块,获取CPU的信息数据。

import psutil
# CPU逻辑数量
psutil.cpu_count()
# CPU物理核心
psutil.cpu_count(logical=False)
# 统计CPU的用户/系统/空闲时间
psutil.cpu_times()
# interval:每隔0.5s刷新一次
# percpu:查看所有的cpu使用率
for x in range(5):
    print(psutil.cpu_percent(interval=0.5, percpu=True))

输出结果:

注:大家如果对jupyter notebook 同时输出多个变量感兴趣,可以查看这篇文章

《15个应该掌握的Jupyter Notebook使用技巧(小结)》

查询内存信息

输出内存使用情况(总内存、可用内存、内存使用率、已使用内存)。

psutil.virtual_memory()

比如上面输出的total=16499146752即为总内存16G,已使用内存/总内存= 76.0%(内存使用率)。

查询磁盘信息

可以通过psutil获取磁盘分区、磁盘使用率和磁盘IO信息。

# 磁盘分区信息
psutil.disk_partitions()
# 磁盘使用情况
psutil.disk_usage('/')
# 磁盘IO
psutil.disk_io_counters()

其中,返回的IO信息指标有磁盘IO信息

read_count(读IO数)

write_count(写IO数)

read_bytes(IO写字节数)

read_time(磁盘读时间)

write_time(磁盘写时间)

查询网络信息

使用psutil库查询网络读写字节/包的个数。

psutil.net_io_counters()

其中,返回的数据指标有

btes_sent: 发送的字节数

bytes_recv: 接收的字节数

packets_sent: 发送的包数据量

packets_recv: 接收的包数据量

errin: 接收包时, 出错的次数

errout: 发送包时, 出错的次数

dropin: 接收包时, 丢弃的次数

dropout: 发送包时, 丢弃的次数

除此以外,还有很多获取网络接口和网络连接信息的函数。

比如

psutil.net_if_addrs()获取网络接口信息

psutil.net_if_stats()获取网络接口状态等。

查询进程信息

最后,使用psutil模块也能获取所有进程的详细信息数据!

psutil.pids() # 所有进程ID

返回的结果包括了所有进程的ID(pid)。

根据 pid 可以获取一个进程对应的 Process 对象,而这个对象里面包含了该进程的全部数据。

下面我们指定进程ID=113408,其实就是当前Python交互环境,来获取该进程的信息。

# 获取指定进程ID=113408,其实就是当前Python交互环境
p = psutil.Process(113408)
# 进程名称
p.name()
# 进程的exe路径
p.exe()
# 进程的工作目录
p.cwd()
# 进程启动的命令行
p.cmdline()
# 当前进程id
p.pid

总而言之,psutil使得我们可以轻松用Python程序获取各类系统信息。

本文只介绍了该模块的安装和基本使用方法,后续大家想了解更多详情,可以参考psutil的官 https://github.com/giampaolo/psutil

以上就是Python标准库学习之psutil内存详解的详细内容,更多关于Python标准库的资料请关注脚本之家其它相关文章!

相关文章

  • python自定义函数中的return和print使用及说明

    python自定义函数中的return和print使用及说明

    这篇文章主要介绍了python自定义函数中的return和print使用及说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-01-01
  • 通过python实现Google的精准搜索功能

    通过python实现Google的精准搜索功能

    这篇文章主要介绍了通过python实现Google的精准搜索功能,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2024-05-05
  • python数据分析matplotlib的基础绘图使用

    python数据分析matplotlib的基础绘图使用

    这篇文章主要为大家介绍了python数据分析matplotlib的基础绘图使用,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-05-05
  • OpenCV半小时掌握基本操作之边界填充

    OpenCV半小时掌握基本操作之边界填充

    这篇文章主要介绍了OpenCV基本操作之边界填充,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-09-09
  • python如何实现API的调用详解

    python如何实现API的调用详解

    Web API是网站的一部分,用于与使用非常具体的URL请求特定信息的程序交互,下面这篇文章主要给大家介绍了关于python实现API的快速调用指南,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2022-05-05
  • APPium+Python编写真机移动端自动化脚本的项目实践

    APPium+Python编写真机移动端自动化脚本的项目实践

    本文主要介绍了APPium+Python编写真机移动端自动化脚本的项目实践,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-07-07
  • python中各种路径设置的方法详解

    python中各种路径设置的方法详解

    python程序想要在一个设备上去运行除了需要安装python解释器和相关依赖项之外,还需要将对应的文件路径添加到环境变量path中才可以,下面这篇文章主要给大家介绍了关于python中各种路径设置的相关资料,需要的朋友可以参考下
    2022-12-12
  • Python利用3D引擎写一个Pong游戏

    Python利用3D引擎写一个Pong游戏

    之前,我们尝试过用pygame做了一个2D的Pong游戏。本文将利用强大的3D引擎Ursina制作一个3D版的Pong游戏。文中的示例代码讲解详细,感兴趣的可以了解一下
    2023-01-01
  • python实现dnspod自动更新dns解析的方法

    python实现dnspod自动更新dns解析的方法

    这篇文章主要介绍了python实现的dnspod自动更新dns解析的方法,需要的朋友可以参考下
    2014-02-02
  • python提取字典key列表的方法

    python提取字典key列表的方法

    这篇文章主要介绍了python提取字典key列表的方法,涉及Python中keys方法的使用技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-07-07

最新评论