首页 > 编程语言 >python模块之psutil

python模块之psutil

时间:2024-08-22 17:50:04浏览次数:11  
标签:usage python cpu psutil 内存 模块 print CPU

模块介绍

psutil 是一个 Python 的跨平台库,用于获取系统和进程的运行状态以及实时信息。它能够方便地访问系统的 CPU、内存、磁盘、网络等资源的使用情况。此外,psutil 也能够管理和监控进程,非常适合用于系统监控和性能分析等应用。psutil 库适用于 Python 3.x 版本,自版本 5.0.0 起更为稳定,因此推荐使用最新版本的 Python。

应用场景

psutil 库的主要用途是系统监控和资源管理。以下是一些具体应用场景:

  • 系统性能监控:可以用来实时监控系统的 CPU 负荷、内存使用情况、磁盘 I/O 等。
  • 进程管理:能获取当前运行进程的信息,例如内存占用、CPU 时间等,也可以结束某个进程。
  • 网络监控:监控系统的网络连接和流量,分析网络性能。
  • 开发与测试助手:在开发应用时,可以用来进行资源的调试与优化。

安装说明

psutil 库并不是 Python 的内置模块,需要额外安装。可以使用以下命令进行安装:

1
pip install psutil  # 使用pip安装psutil库

安装完成后,即可在 Python 项目中使用该模块。

用法举例

1. 获取 CPU 信息

import psutil  # 导入psutil库

# 获取CPU的逻辑核心数
cpu_cores = psutil.cpu_count(logical=True)  # 获取逻辑核心数
print(f"逻辑核心数: {cpu_cores}")  # 输出逻辑核心数量

# 获取CPU的使用率
cpu_usage = psutil.cpu_percent(interval=1)  # 获取当前CPU使用率,时间间隔1秒
print(f"CPU使用率: {cpu_usage}%")  # 输出CPU使用率

 


2. 获取内存信息场景说明:上述代码获取系统的 CPU 核心数量以及当前的 CPU 使用率,可以用于监控服务器性能。

import psutil  # 导入psutil库

# 获取虚拟内存信息
memory_info = psutil.virtual_memory()  # 获取内存信息
print(f"总内存: {memory_info.total / (1024 ** 3):.2f} GB")  # 输出总内存
print(f"可用内存: {memory_info.available / (1024 ** 3):.2f} GB")  # 输出可用内存
print(f"内存使用率: {memory_info.percent}%")  # 输出内存使用率

 


3. 监控网络流量场景说明:此代码帮助开发者监控系统内存的使用情况,确保内存充足以支持应用程序的运行。

import psutil  # 导入psutil库

# 获取网络I/O信息
net_io = psutil.net_io_counters()  # 获取网络I/O信息
print(f"发送字节数: {net_io.bytes_sent} bytes")  # 输出网络发送的字节数
print(f"接收字节数: {net_io.bytes_recv} bytes")  # 输出网络接收的字节数

 场景说明:该示例代码用于监控网络流量,非常适合用于数据流量分析和带宽监控等场景。

 

4. 获取磁盘相关信息

import psutil
partitions = psutil.disk_partitions()
print("磁盘分区信息:", partitions)


usage = psutil.disk_usage('/')
print("磁盘使用情况:", usage)

 

5.获取传感器信息

import psutil
sensors_temperatures = psutil.sensors_temperatures()
print("传感器信息:", sensors_temperatures)

 

6.进程管理

import psutil

# 获取正在运行的进程
for process in psutil.process_iter():
    print(process.name())


# 获取指定进程的详细信息
process_id = 1234
process = psutil.Process(process_id)
print(process.name())
print(process.cpu_percent(interval=1))
print(process.memory_info().rss)

 

 



 

示例:

1.监控设备信息

import time
import psutil
while True:
    cpu_usage = psutil.cpu_percent(interval=1)
    memory_usage = psutil.virtual_memory().percent
    disk_usage = psutil.disk_usage('/').percent
    network_usage = psutil.net_io_counters().bytes_sent + psutil.net_io_counters().bytes_recv
    print("CPU使用率:", cpu_usage)
    print("内存使用率:", memory_usage)
    print("磁盘使用率:", disk_usage)
    print("网络使用量:", network_usage)
    time.sleep(1)

 

 

 

 

相关文档:

 

标签:usage,python,cpu,psutil,内存,模块,print,CPU
From: https://www.cnblogs.com/xingxia/p/18374429/python_psutil

相关文章

  • Python中matplotlib使用4
    在matplotlib中,可以通过绘制“饼图”来展示各类别在总体中所占的比例。1绘制基本“饼图”通过matplotlib中的pie()函数绘制饼图,代码如图1所示。图1绘制基本“饼图”的代码从图1中可以看出,pie()函数的参数y即为要绘制的数据,绘制出的“饼图”如图2所示。图2基本“饼图......
  • Python中定义和使用类的私有属性和方法
    类的私有属性和方法指的是只能在类的内部使用,而不能在类外使用的属性和方法。1单下划线方式在定义类的属性和方法时,在名字前面加一个下划线,此时表示该属性或方法只能在类的内部使用,而不能在类的外部使用,代码如图1所示。图1定义类的私有属性从图1中可以看出,在类Myclass中......
  • Python中类的使用4
    在Python中,如果要编写的类是另一个类的特殊版本,可以使用继承。一个类A继承另一个类B,类A将自动获得类B的所有属性和方法,类B叫做父类,而类A叫做子类。假设有一个类是表示“人”的类,而另一个类是表示“学生”的类,因为“学生”是“人”的特殊版本,因此可以把表示“人”的类当作父类,表......
  • python3脚本批量重命名歌曲文件
    场景:歌曲文件名有些混乱 于是想用个脚本批量重命名这些歌曲文件,可以选择【歌曲名-歌手】或【歌手-歌曲名】规范这些文件名脚本如下:importosimportrefrommutagen.id3importID3,TIT2,TPE1frommutagen.mp4importMP4#替换后歌手分隔符REPLACEMENT_STRING......
  • 【整理快速通道】python语法import速查
    这段文字是特意发送在除了CSDN以外的其他网站的,如果这段文字出现在CSDN里面,则说明该账号为抄袭账号,关键字索引:抄袭千思的文章目录正文文件夹结构模块调用包内模块1.import2.from...import...3.import...as4.from...import*(不推荐)同级两个模块导入from...import动态导入try.......
  • python对于pyinstaller使用的一些随记
    1.虚拟环境中需要安装对应的pyinstaller  pipinstallpyinstaller(该命令后会安装pyinstaller和pyinstaller-hooks-contrib)注意:如果在当前环境下没有pyinstaller,则会在本机电脑的环境变量中的path中去寻找,如果没有则报错。      此处设置可参考:https://blog.csdn.......
  • Python 实现批量数字二维码生成器
    Python实现批量数字二维码生成器创建时间:2024-08-09一、背景手动逐个生成特定格式和内容的二维码是一项繁琐且耗时的任务。虽然有写二维码工具也可以制作,但是往往有一些限制,为了能够高效、批量生成自定义二维码的需求,开发了这个基于Python的数字二维码生成器应用程序。在实......
  • 原生js实现下滑到当前模块进度条填充
    <divstyle="height:1500px;"></div><divclass="progress-container"><divclass="progress-bar"data-progress="90%"><pclass="progress-text">GoogleAds在Google搜索引擎上覆盖超过90%......
  • Python多环境管理神器pyenv+poetry
    pyenv是一个简单而强大的Python版本管理工具,可以在同一台机器上同时安装多个Python版本,并且可以根据应用程序或项目的需求进行快速切换。它的主要功能包括版本的安装、卸载、切换和全局默认版本的设置。 #pyenv工具下载安装:https://codeload.github.com/pyenv/pyenv/zip......
  • python 模块统计
    importos,reos模块是方便与操作系统相交互的模块例如os.listdir(path)列出指定目录的文件os.gitcaw()取得当前工作目录 importre调用正则表达式. 匹配除换行符外的任意字符\W匹配字母或数字\S匹配任意的空白符^匹配开头¥匹配结尾 importsyssys.exit(n)退......