Python标准库学习之psutil内存详解
目录
- 查询CPU信息
- 查询内存信息
- 查询磁盘信息
- 查询网络信息
- 查询进程信息
今天介绍的是
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使用技巧(小结)》
查询内存信息 【Python标准库学习之psutil内存详解】输出内存使用情况(总内存、可用内存、内存使用率、已使用内存)。
psutil.virtual_memory()
文章图片
比如上面输出的
total=16499146752
即为总内存16G,已使用内存/总内存= 76.0%(内存使用率)。查询磁盘信息 可以通过psutil获取磁盘分区、磁盘使用率和磁盘IO信息。
# 磁盘分区信息psutil.disk_partitions()# 磁盘使用情况psutil.disk_usage('/')# 磁盘IOpsutil.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()# 当前进程idp.pid
文章图片
总而言之,
psutil
使得我们可以轻松用Python程序获取各类系统信息。本文只介绍了该模块的安装和基本使用方法,后续大家想了解更多详情,可以参考psutil的官 https://github.com/giampaolo/psutil
以上就是Python标准库学习之psutil内存详解的详细内容,更多关于Python标准库的资料请关注脚本之家其它相关文章!
推荐阅读
- python学习之|python学习之 实现QQ自动发送消息
- 逻辑回归的理解与python示例
- python自定义封装带颜色的logging模块
- 【Leetcode/Python】001-Two|【Leetcode/Python】001-Two Sum
- Python基础|Python基础 - 练习1
- Python爬虫|Python爬虫 --- 1.4 正则表达式(re库)
- Python(pathlib模块)
- python青少年编程比赛_第十一届蓝桥杯大赛青少年创意编程组比赛细则
- Python数据分析(一)(Matplotlib使用)
- 活跃社群的核心标准是什么()