当前位置: 首页 > 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.jsqmd.com/news/4696/

相关文章:

  • 解决Python requests库POST请求参数顺序问题
  • 使用Tabs选项卡组件快速搭建鸿蒙APP框架
  • 深入解析:实战:基于 BRPC+Etcd 打造轻量级 RPC 服务——从注册到调用的核心架构与基础实现
  • 完整教程:从另一个视角看Transformer:注意力机制就是可微分的k-NN算法
  • ACM 杂题选做 题解合集
  • | 和 || 的区别详解及应用场景对比
  • Kubernetes技巧:使用Prometheus监控Pod性能指标
  • 2025.9.27——1橙
  • 深入解析:Python实现蝗虫优化算法(Grasshopper Optimization Algorithm, GOA)(附完整代码)
  • 在Java 12环境中配置和部署Apache Tomcat
  • android pdf框架-14,mupdf重排 - 详解
  • 深入解析:UE5GAS GameAbility源码解析 CommitAbility
  • 详细介绍:基于物联网的智能衣柜系统的设计(论文+源码)
  • 确定Ceph集群中OSD组件与具体物理磁盘的关联
  • 深入解析:Jenkins+Tomcat持续集成教程
  • JavaScript加解密实践
  • Linux系统中使用df命令详解磁盘使用情况
  • 读人形机器人24岗位替代
  • Palantir解密:从企业数字化能力构成说起,“本体”如何破解现代企业数据应用难题? - 指南
  • 在Ubuntu 18.04/20.04 LTS设置静态DNS服务器
  • 分布式 ID 生成方案实战指南:从选型到落地的全场景避坑手册(三) - 实践
  • 实用指南:鸿蒙NEXT安全控件解析:实现精准权限管控的新范式
  • 详细介绍:Golang语言基础篇007_结构体详解
  • 实用指南:集成学习全解析:Bagging、Boosting、Stacking原理与实战(2025版)
  • 队列+宽搜(BFS)-662.二叉树最大宽度-力扣(LeetCode) - 指南
  • Istio服务网格方案 - 实践
  • JWT攻防实战:混淆、破解与红队利用技术详解
  • “中国英伟达”投资人,赚翻了
  • The 3rd UCUP Stage 29: Metropolis(QOJ contest 1913) 总结
  • 空白金兰契的多维解构与实践路径:从价值表征困境到人机共生伦理