当前位置: 首页 > news >正文

Python获取CPU和内存使用率

首先,确保已安装psutil库。如果尚未安装,请运行以下命令进行安装:

pip install psutil

安装完成后,我们就可以使用psutil库来测量CPU和内存使用率了。以下是一个简单的示例代码:

import psutil
import timedef get_cpu_usage_percentage():return psutil.cpu_percent(interval=1)def get_memory_usage_percentage():memory_stats = psutil.virtual_memory()return memory_stats.percentwhile True:cpu_usage = get_cpu_usage_percentage()memory_usage = get_memory_usage_percentage()print(f"CPU使用率:{cpu_usage}%")print(f"内存使用率:{memory_usage}%")time.sleep(5)

这段代码首先引入了psutil库和time库。我们定义了两个函数,分别用于获取CPU和内存使用率。

get_cpu_usage_percentage()返回在过去1秒内的CPU使用率(百分比)。可以通过更改interval参数来调整时间间隔。

get_memory_usage_percentage()函数使用psutil.virtual_memory()方法获取内存统计信息,并返回内存使用率。

最后,在一个无限循环中,我们每5秒调用get_cpu_usage_percentage()和get_memory_usage_percentage()函数,打印出当前CPU和内存使用率。

这个示例提供了一个简单易懂的方法来监测CPU和内存使用率。对于初学者而言,这是一个很好的起点。

如果需要检测系统各个进程的资源占用情况,我们可以结合psutil库的Process类来实现。以下是一个简单的示例:

import psutildef get_process_info():process_info_list = []for process in psutil.process_iter(['pid', 'name', 'cpu_percent', 'memory_percent']):process_info_list.append({'pid': process.info['pid'],'name': process.info['name'],'cpu_percent': process.info['cpu_percent'],'memory_percent': process.info['memory_percent']})return process_info_listprocess_info_list = get_process_info()for process_info in process_info_list:print(f"进程ID: {process_info['pid']}, 进程名称: {process_info['name']}, "f"CPU使用率: {process_info['cpu_percent']}%, "f"内存使用率: {process_info['memory_percent']}%")

在这段代码中,我们定义了一个名为get_process_info()的函数,该函数返回一个包含当前进程及其资源占用情况的列表。我们遍历这个列表并打印出每个进程的相关信息。

http://www.rkmt.cn/news/12726.html

相关文章:

  • 深入解析:实战:基于 BRPC+Etcd 打造轻量级 RPC 服务——从注册到调用的核心架构与基础实现
  • 完整教程:从另一个视角看Transformer:注意力机制就是可微分的k-NN算法
  • ACM 杂题选做 题解合集
  • Kubernetes技巧:使用Prometheus监控Pod性能指标
  • 详细介绍:基于物联网的智能衣柜系统的设计(论文+源码)
  • JavaScript加解密实践
  • 读人形机器人24岗位替代
  • Palantir解密:从企业数字化能力构成说起,“本体”如何破解现代企业数据应用难题? - 指南
  • The 3rd UCUP Stage 29: Metropolis(QOJ contest 1913) 总结
  • 读 WPF 源代码 了解获取 GlyphTypeface 的 CharacterToGlyphMap 的数量耗时原因
  • Java 与智慧交通:车联网与自动驾驶支持
  • 初衷的澄明:空白金兰契的深意
  • Aidoku - 专为iOS/iPadOS打造的免费开源漫画阅读器
  • windos的hyper-v安装的宝塔面板,在面板里面点击重启服务器后再也无法启动面板。
  • Unity渲染时的排序规则
  • US$79 Latest Version SBB Key Programmer V46.02 Multi-language
  • codeforces round 1054(e.f)
  • US$228 VVDI2 BMW CAS4+ Function Authorization Service
  • US$30.4 BMW-CAS4 Interface Board for Yanhua Mini ACDP Module1
  • 弱结构光三维扫描重建
  • PCA降维
  • docker复制文件到宿主机
  • Day22多态详解
  • rad/s RPM之间的换算
  • “计算理论之美”课程笔记一:概率
  • 漏洞赏金猎手的新年目标实战指南
  • python 0入门基础第一课 - Jun
  • 数学作业
  • 日常刷题:cf每日一题+abc+反思复盘