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

作者:朱小五是凹凸君呀 时间:2023-09-14 21:33:35 

人生苦短,快学Python!

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

命令行下通过pip安装:


pip install psutil

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

顾名思义

psutil = process and system utilities

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

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

查询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))

输出结果:

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

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

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

查询内存信息

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


psutil.virtual_memory()

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

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

查询磁盘信息

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


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

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

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

read_count(读IO数)

write_count(写IO数)

read_bytes(IO写字节数)

read_time(磁盘读时间)

write_time(磁盘写时间)

查询网络信息

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


psutil.net_io_counters()

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

其中,返回的数据指标有

btes_sent: 发送的字节数

bytes_recv: 接收的字节数

packets_sent: 发送的包数据量

packets_recv: 接收的包数据量

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

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

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

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

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

比如

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

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

查询进程信息

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


psutil.pids() # 所有进程ID

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

返回的结果包括了所有进程的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

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

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

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

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

来源:https://blog.csdn.net/zhuxiao5/article/details/120016106

标签:Python库,psutil,内存
0
投稿

猜你喜欢

  • Python2随机数列生成器简单实例

    2021-11-18 08:12:37
  • 利用Python实现Json序列化库的方法步骤

    2023-01-15 07:03:00
  • JavaScript编制留言簿程序代码第1/3页

    2024-04-22 13:23:44
  • 面试被问select......for update会锁表还是锁行

    2024-01-17 20:59:17
  • 通过python改变图片特定区域的颜色详解

    2021-09-17 11:01:22
  • vue面试之new Vue的时候到底做了什么

    2024-06-05 15:31:27
  • 合并网页中的多个script引用实现思路及代码

    2023-06-29 09:02:19
  • Python之父谈Python的未来形式

    2022-02-05 11:10:42
  • 2019-nCoV 全国新型肺炎疫情每日动态趋势可视图

    2023-02-25 04:55:05
  • 用Django实现一个可运行的区块链应用

    2022-07-17 22:26:31
  • VUE中如何动态绑定类名和样式

    2024-04-26 17:41:35
  • Python 实现list,tuple,str和dict之间的相互转换

    2021-02-28 12:35:42
  • Python爬取数据保存为Json格式的代码示例

    2022-10-13 17:11:36
  • 动态程序防采集的新方法

    2010-04-24 15:24:00
  • Git操作规范之tag的使用技巧详解

    2022-07-30 05:10:54
  • python中waitKey实例用法讲解

    2022-10-27 22:33:33
  • oracle表空间表分区详解及oracle表分区查询使用方法

    2024-01-14 19:42:14
  • Python3.9最新版下载与安装图文教程详解(Windows系统为例)

    2023-12-13 20:26:51
  • Java操作数据库连接池案例讲解

    2024-01-21 18:39:40
  • Python如何自定义邻接表图类

    2021-01-12 04:41:43
  • asp之家 网络编程 m.aspxhome.com