返回顶部
首页 > 资讯 > 后端开发 > Python >Python标准库学习之psutil内存详解
  • 504
分享到

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

2024-04-02 19:04:59 504人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

目录查询CPU信息查询内存信息查询磁盘信息查询网络信息查询进程信息人生苦短,快学python! 今天介绍的是psutil模块,它是一个跨平台库 https://GitHub.com/

人生苦短,快学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标准库的资料请关注编程网其它相关文章!

--结束END--

本文标题: Python标准库学习之psutil内存详解

本文链接: https://lsjlt.com/news/136709.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Python标准库学习之psutil内存详解
    目录查询CPU信息查询内存信息查询磁盘信息查询网络信息查询进程信息人生苦短,快学Python! 今天介绍的是psutil模块,它是一个跨平台库 https://github.com/...
    99+
    2024-04-02
  • python标准库学习之sys模块详解
    目录前言处理命令行参数sys.exit(n) 退出程序,正常退出时exit(0)sys.version 获取Python解释程序的版本信息sys.platform 返回操作系统平台名...
    99+
    2024-04-02
  • Python标准库学习之urllib
    本系列以python3.4为基础urllib是Python3的标准网络请求库。包含了网络数据请求,处理cookie,改变请求头和用户代理,重定向,认证等的函数。urllib与urllib2:python2.x用urllib2,而pytho...
    99+
    2023-01-31
    标准 Python urllib
  • 详解C标准库堆内存函数
    目录概述不同操作系统Ansi C内存分配器实现方案有所不同内存碎片与碎片整理内存分配器的好坏标准void* malloc( size_t size )void free( void*...
    99+
    2024-04-02
  • Golang 标准库 tips之waitgroup详解
    WaitGroup 用于线程同步,很多场景下为了提高并发需要开多个协程执行,但是又需要等待多个协程的结果都返回的情况下才进行后续逻辑处理,这种情况下可以通过 WaitGroup 提供...
    99+
    2024-04-02
  • Python标准库之time库的使用教程详解
    目录1.时间戳2.结构化时间对象3.格式化时间字符串4.三种格式之间的转换time模块中的三种时间表示方式: 时间戳 结构化时间对象 格式化时间字符串 1.时间戳 时间戳1970.1...
    99+
    2024-04-02
  • 学习Golang:深入理解常用标准库!
    从入门到精通:Golang常用标准库详解!一、引言随着软件开发的快速发展,程序语言的选择变得越来越重要。在各种编程语言中,Golang(又称Go语言)因为其高效性、简洁性和并发性而备受关注。Golang具备强大的标准库,提供了丰富的功能和工...
    99+
    2023-12-29
    Golang 入门 标准库
  • Python标准库06之子进程 (subprocess包) 详解
    这里的内容以Linux进程基础和Linux文本流为基础。subprocess包主要功能是执行外部的命令和程序。比如说,我需要使用wget下载文件。我在Python中调用wget程序。从这个意义上来说,sub...
    99+
    2022-06-04
    之子 详解 进程
  • Python标准库之Math,Random模块使用详解
    目录数学模块ceil -- 上取整floor -- 下取整四舍五入pow -- 幂运算sqrt -- 开平方运算fabs -- 绝对值modf -- 拆分整数小数copysign -...
    99+
    2024-04-02
  • python深度学习标准库使用argparse调参
    目录前言使用步骤:常见规则使用config文件传入超参数argparse中action的可选参数store_true前言 argparse是深度学习项目调参时常用的python标准库...
    99+
    2024-04-02
  • python 标准库原理与用法详解之os.path篇
    os中的path 查看源码会看到,在os.py中有这样几行 if 'posix' in _names: name = 'posix' linesep = '\n'...
    99+
    2024-04-02
  • Android学习之SharedPerference存储详解
    SharedPerference不同同于文件存储,它是使用键值的方式来存储数据,对于保存的每一条数据都会给一个键值,这样在读取数据时直接通过键值取出相应数据。amdroid提供了三个方法来获取实例:1.Context类中的getShareP...
    99+
    2023-05-30
    android sharedperference 存储
  • Python标准库datetime之datetime模块用法分析详解
    目录1、日期时间对象2、创建日期时间对象2.1、通过datetime.datetime.utcnow()创建2.2、通过datetime.datetime.today()函数创建2....
    99+
    2024-04-02
  • Python连接数据库学习之DB-API详解
    前言 大家都知道在Python中如果要连接数据库,不管是MySQL、SQL Server、PostgreSQL亦或是SQLite,使用时都是采用游标的方式,所以就不得不学习Python DB-API。 P...
    99+
    2022-06-04
    详解 连接数据库 Python
  • Python标准库sys库常用功能详解
    目录1、查看版本信息2、四大实现详细信息3、查看Python解释器的相关信息3、设置python解释器信息4、标准输入、输出和错误流5、查看系统平台相关信息6、其他1、查看版本信息 ...
    99+
    2024-04-02
  • Python深度学习之图像标签标注软件labelme详解
    前言 labelme是一个非常好用的免费的标注软件,博主看了很多其他的博客,有的直接是翻译稿,有的不全面。对于新手入门还是有点困难。因此,本文的主要是详细介绍labelme该如何使用。 一、labelme是什么? l...
    99+
    2022-06-02
    Python图像标签标注软件labelme Python labelme
  • C++EasyX学习之鼠标操作详解
    目录基础代码进阶编程基础代码 功能:移动画点,左键画方块,右键退出。  #include <graphics.h> #include <conio.h&...
    99+
    2024-04-02
  • python标准库压缩包模块zipfile和tarfile详解(常用标准库)
    目录常用的标准库zip格式ZipFile参数说明操作含义压缩方法常用方法tar包 和 gz、bz2、xz格式删除压缩包中的文件常用的标准库 在我们常用的系统windows和Linux...
    99+
    2024-04-02
  • python学习之Python count()函数详解
    大家好,依旧是你们的萧萧啊。 Python中的count()函数是一种非常常用的方法,用于统计某个元素在列表、元组或字符串中出现的次数。它的使用非常简单,只需要传入要统计的元素作为参数即可。在本篇博客中,我将详细介绍count()函数的用法...
    99+
    2023-09-29
    学习 python
  • Python学习之迭代器详解
    目录什么是迭代器如何生成迭代器迭代器函数 - iter() 函数 与 next() 函数可迭代的对象生成迭代器迭代器的用法 - 演示案例什么是迭代器 迭代是 python 中访问集合...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作