如何使用Python脚本分析CPU使用情况的?

可直接运行 Python 统计分析电脑CPU数据情况 执行用户进程、执行内核进程和中断、CPU空闲状态统计源码 源代码.rar 基于Python3开发,可直接命令行运行 ,使用matplotlib绘图 Python 统计分析电脑CPU数据情况 执行用户进程、执行内核进程和中断、CPU空闲状态统计源码 立即下载

用以分析Python中CPU使用情况。CPU分析是通过分析CPU执行代码的方式来测量代码的性能,以此找到代码中的不妥之处,然后处理它们。

接下来我们将看看如何跟踪Python脚本使用时CPU使用情况,重点关注以下几个方面:

    1、cProfile

    2、line_profiler

    3、pprofile

    4、vprof

测量CPU使用率

对于这篇文章,我将主要使用与内存分析中使用脚本相同的脚本,具体如下:

 

 

 

 

 

Python资源共享群:484031800

另外,请记住,在PyPy2中,您需要使用与之配合的pip版本:

 

 

 

 

并且其他依赖项也将被安装:

 

 

 

 

cProfile

在讨论CPU分析时,最常用的工具之一是cProfile,主要是因为它内置在CPython2和PyPy2中。这是一个确定性的分析器,意味着在运行程序时会收集一组统计数据,例如我们代码的各个部分的执行次数或执行时间。此外,cProfile在系统上的开销比其他内置的分析器(配置文件)要低。

CPython2的用法很简单:

 

 

 

 

如果您使用PyPy2:

 

 

 

 

其输出如下:

 

 

 

 

 

 

即使使用这个文本输出,很容易看到我们的脚本多次调用了list.append方法。

如果我们使用gprof2dot,我们可以以图形的方式看到cProfile输出。要使用它,我们必须首先安装graphviz,之后是一些依赖包,最后在Ubuntu上使用如下命令:

 

 

 

 

再次运行脚本:

 

 

 

 

我们得到以下output.png文件:

 

 

 

 

 

 

这样更容易看到一切。我们来仔细看看它的输出。您可以看到脚本中的函数调用如下:

   1、第一行:Python文件名,行号和方法名称

   2、第二行:代码块占用全部时间的百分比

   3、第三行:括号中,方法本身占全部时间的百分比

   4、第四行:调用函数的次数

例如,在顶部的第三个红色方块中,方法primes占用了98.28%的时间,其中65.44%的内容在其中进行,调用了40次。其余的时间花在Python中的list.append(22.33%)和range(11.51%)中。

作为一个简单的脚本,我们只需要重写我们的脚本,具体的如下所示:

 

 

 

 

 

 

如果我们使用CPython2测量我们脚本的时间,

 

 

 

 

还有PyPy2:

 

 

 

 

我们通过使用PyPy2的CPython2和3.1X获得了不错的效果,下面是cProfile的调用流程图:

 

 

 

 

 

 

您还可以以编程方式使用cProfile,例如:

 

 

 

 

 

 

这在某些情况下很有用,例如多进程性能测量

line_profiler

此分析器在行级提供关于工作负载的信息。它使用Cython在C中实现,并将其与cProfile进行比较时发现其具有较小的开销。

源代码可以在这里找到,也可以在这里找到PyPI页面。与cProfile相比,它具有一样的开销,不过却要花费12倍的时间来获取配置文件。

要使用它,您需要先通过pip添加它:pip install pip install Cython ipython == 5.4.1 line_profiler(CPython2)。这个分析器的一个主要缺点是它不支持PyPy。

就像使用memory_profiler一样,您需要在要分析的函数中添加一个装饰器。在我们的例子中,您需要在03.primes-v1.py中定义我们的primes函数之前添加@profile。然后调用它:

 

 

 

 

你将得到如下输出:

 

 

 

 

 

 

我们看到,重复调用list.append的两个循环花了最多的时间。

pprofile

根据作者说明,pprofile是一个“线程测量和统计的纯python分析器”。

它受到line_profiler的启发,修复了很多缺点,但是由于它完全用Python编写,所以它也可以与PyPy成功使用。与cProfile相比,使用CPython时的分析时间要多28倍,而使用PyPy时,分析时间要多10倍,而且细节水平更加细化。

我们也支持PyPy!除此之外,它支持剖析线程,这在各种情况下可能会很方便。

要使用它,您需要先通过pip添加它:pip install pprofile(CPython2)/ pypy -m pip install pprofile(PyPy),然后调用它:

 

 

 

 

输出与我们以前看到的不同,我们得到如下结果:

 

 

 

 

 

 

我们现在可以更详细地看到一切。让我们来看看输出。您可以获得脚本的整个输出,并且在每行之前,您可以看到对其进行的调用次数,运行时间(秒),每次调用的时间和全局时间的百分比,pprofile为我们的输出添加了额外的行(如第44和50行,以(call)开头)与累积指标。

再次,我们看到,重复调用list.append的两个循环花了我们脚本中最多的时间。

vprof

vprof是一个Python分析器,为各种Python程序特性(如运行时间和内存使用)提供丰富的交互式可视化。它是一个基于Node.JS的图形化的显示在网页中的结果。

使用它,您可以看到与Python脚本相关的以下一个或全部:

    1、CPU使用图

    2、代码分析

    3、内存图

    4、代码热图

要使用它,您需要先通过pip添加它:pip install vprof(CPython2)/ pypy -m pip install vprof(PyPy),然后调用它:

在CPython2上,显示代码散热图(第一个调用如下)和代码分析(下面的第二个调用):

 

 

 

 

在PyPy上,显示代码散热图(第一个调用如下)和代码分析(下面的第二个调用):

 

 

 

 

在每种情况下,您将看到代码散点图的以下内容

 

 

 

 

 

 

以及代码分析的以下内容。

 

 

 

 

结果以图形方式看到,我们可以悬停鼠标或单击每行以获取更多信息。再次,我们看到,重复调用list.append的两个循环花了我们脚本中最多的时间。

优快云积分获取与管理全攻略 技术社区积分系统是知识共享生态的核心激励机制,通过量化用户贡献实现资源交换。其底层逻辑遵循Web2.0时代的UGC经济模型,用户通过内容创作、社区互动等行为积累虚拟资产。在开发者社区场景中,积分体系能有效促进技术文档、工具源码等资源的流通,优快云作为国内头部平台,其积分规则具有典型参考价值。掌握签到策略、内容互动技巧和资源上传规范等实操方法,可系统性提升积分获取效率。2023年新规强化了连续签到奖励和互动质量检测机制,结合GitHub等开源平台资源互补,能构建更高效的技术资源获取路径。 阅读详情

相关推荐

AgentVerse实战:构建多智能体协作系统的关键技术与应用场景

本文深入探讨了AgentVerse框架在构建多智能体协作系统中的关键技术及应用场景。通过分析智能体通信协议、环境交互机制和任务分解算法,展示了如何利用大型语言模型(LLM)实现智能体间的专业化分工与动态协作。文章还提供了智能软件开发团队和智能客服系统等典型应用案例,以及部署优化实践,为开发者构建高效的多智能体系统提供实用指导。

weixin_29254029的博客 361

Python脚本分析CPU使用情况

在这篇文章中,我将讨论一个工具,用以分析Python中CPU使用情况。CPU分析是通过分析CPU执行代码的方式来测量代码的性能,以此找到代码中的不妥之处,然后处理它们。 接下来我们将看看如何跟踪Python脚本使用时CPU使用情况,重点关注以下几个方面: 1、cProfile 2、line_profiler 3、pprofile 4、vprof 测量C...

weixin_34380781的博客 593

实施文档

流程管理 2008-04-23 09:44:00 874 收藏 3 分类专栏: 企业管理杂谈 文章标签: 文档 文档管理 项目管理 工作 配置管理 工具 项目实施文档是用来记录、描述、展示实施过程中一系列信息的处理过程,通过书面或图示的形式对项目活动过程或结果进行描述、定义、规定及报告。例如分阶段实施计划文档,标准业务流程文档,标准编码及数据文档,标准参数设置文档,功能操作指南文档。这些文档将会伴随着ERP实施的各个阶段逐渐充实、完善,也同时记载了整个实施的过程和成果。 作为实施顾问人员,在实施过程

qq_52337172的博客 1066

python之cpu性能检测脚本

环境: ubuntu 14.04+python2.7 功能说明: 按时间间隔持续进行cpu占用率的检测,当cpu负载超过%60时,进行提示,并且可以根据进程名字杀死该进程 代码: #coding:utf-8 import os import time print "cpu dedecting" flag=True while flag: os.system(r"top -n 1 >

noc_lemontree的博客 6291

python课程教学大纲-《Python语言基础》课程教学大纲

《Python语言基础》课程教学大纲课程名称:Python语言基础课程类别:专业选修课适用专业:电子信息工程考核方式:考查总学时、学分:32学时1.5学分其中讲授16学时,实验10学时,其他6学时一、课程性质、教学目标使学生在全面了解Python技术历史、现状与发展趋势的基础上,系统掌握Python基本概念、编程思想以及程序设计技术,具备熟练的Python编程技能和面向对象软件设计技术思想,完成本...

weixin_37988176的博客 3720

OGRE 3D----2. QGRE + QQuickView

将 OGRE(面向对象图形渲染引擎)集成到使用 QQuickView 的 Qt Quick 应用程序中,可以在现代灵活的 UI 框架中提供强大的 3D 渲染功能。本文将指导您如何在 QQuickView 环境中设置 OGRE。

charce_you的专栏 915

python跑满cpu 单核脚本 cpu100% 如何将cpu、内存、io打满

如何将cpu、内存、io打满 1、cpu打满: 这个脚本是什么意思呢?这里简单讲解一下。首先是先建一个/tmp/infiniteburn.sh脚本,这个脚本中的内容即为:

yuezhilangniao的博客 9003

Ollama系列---【ollama使用gpu运行大模型】

一、安装CudaToolkit 使用控制台命令查看当前显卡驱动中的cuda版本 nvidia-smi 二、下载CudaToolkit 注意:CudaToolkit版本要低于上面的显卡Cuda版本。 Cuda各版本下载地址:https://developer.nvidia.com/cuda-toolkit-archive 下载好之后,一路下一步,一直默认即可。 如果安装到了自定义的位置,记得加环...

-少年-的博客 7988

02323操作系统概论 第三章进程调度与死锁

文章目录第一节 进程调度的功能与时机1. 功能2. 时机第二节 进程调度算法1. 选择调度方式和算法的若干准则2. 调度算法 第一节 进程调度的功能与时机 1. 功能 2. 时机 当一个进程运行结束, 进程阻塞, 中断返回, 更高优先级的进程到来, 时间片用完, 都会进行调度 第二节 进程调度算法 1. 选择调度方式和算法的若干准则 周转时间短 周转时间是指从作业被提交给系统开始, 到作业完成为止的这段时间间隔. 包括4部分: 作业在外存后备队列上等待调度的时间, 进程在就绪队列上等待进程调度的时间,

诸葛老刘的博客 1222

A算法的蒙特卡洛树搜索

A*算法的蒙特卡洛树搜索 作者:禅与计算机程序设计艺术 1. 背景介绍 在人工智能和游戏开发领域,搜索算法是一个非常重要的研究方向。其中A算法和蒙特卡洛树搜索是两种广泛应用的经典算法。A算法是一种启发式搜索算法,通过评估各个节点到目标节点的启发式代价来引导搜索方向,在

AI天才研究院 1755

【STM32项目】基于STM32设计的震动马达超声波电机高频震动——高级定时器PWM互补输出带死区控制__资料编号3

实现高级定时器互补输出带死区控制,实现震动/超声波电机/马达,高频震动。使用 STM32F103 芯片输出两路互补 PWM,并带有死区和刹车控制功能。定时器 1 通道 1 及其互补通道输出PWM,且带死区控。当定时器 1 的刹车输入引脚被拉高时,产生刹车时间,即定时器 8 停止输出 PWM。当刹车输入引脚被拉高时,通道 1 和通道 2 将从有波形输入状态转换成无效电平状态。

嵌入式阿齐Archie 6742

python怎么做压力测试_Python为CPU做压力测试——PI计算,python,给,pi

众所周知,反正弦函数asin有以下公式(如在计算器中是弧度制下):百度百科搜索三角函数公式,在泰勒展开式一节中有以下公式: 其中arcsin写错了,(2k+1)!!应该是(2k-1)!!另外x!!指双阶乘,不同于阶乘双阶乘实现:def doubleFact(x):ans=1for i in range(1,x+1):if i%2 == x%2:ans*=ireturn ansasin函数实现def...

weixin_30199703的博客 1001

把核心变干净的代价与回报:为什么推动 Clean Core,几乎绕不开 SAP Integration Suite 与 API Management

Clean Core的核心价值在于构建可持续升级的ERP系统架构,其关键不在于减少代码或限制扩展,而是通过解耦和治理实现系统边界的清晰划分。这一理念将推动企业从传统的"私搭乱建"式集成向平台化工程转型,而SAP Integration Suite和API Management正是实现这一转型的核心组件。 Integration Suite作为集成中枢,通过统一平台、可复用内容库和事件驱动架构,将碎片化连接转变为标准化能力;API Management则负责建立接口治理体系,通过统一入口、

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 247

运行python用什么处理器_如何使用Python脚本分析CPU使用情况的?

用以分析Python中CPU使用情况。CPU分析是通过分析CPU执行代码的方式来测量代码的性能,以此找到代码中的不妥之处,然后处理它们。接下来我们将看看如何跟踪Python脚本使用时CPU使用情况,重点关注以下几个方面:1、cProfile2、line_profiler3、pprofile4、vprof测量CPU使用率对于这篇文章,我将主要使用与内存分析中使用脚本相同的脚本,具体如下:另外,请记住...

weixin_39880615的博客 277

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

graphviz python_如何使用Python脚本分析CPU使用情况的?

用以分析Python中CPU使用情况。CPU分析是通过分析CPU执行代码的方式来测量代码的性能,以此找到代码中的不妥之处,然后处理它们。接下来我们将看看如何跟踪Python脚本使用时CPU使用情况,重点关注以下几个方面:1、cProfile2、line_profiler3、pprofile4、vprof测量CPU使用率对于这篇文章,我将主要使用与内存分析中使用脚本相同的脚本,具体如下:另外,请记住...

weixin_39588206的博客 59

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

python统计行号_如何使用Python脚本分析CPU使用情况的?

用以分析Python中CPU使用情况。CPU分析是通过分析CPU执行代码的方式来测量代码的性能,以此找到代码中的不妥之处,然后处理它们。接下来我们将看看如何跟踪Python脚本使用时CPU使用情况,重点关注以下几个方面:1、cProfile2、line_profiler3、pprofile4、vprof测量CPU使用率对于这篇文章,我将主要使用与内存分析中使用脚本相同的脚本,具体如下:另外,请记住...

weixin_34083807的博客 91

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

graphviz python_如何使用Python脚本分析CPU的使用情况?

小编给大家分享一个工具,用以分析Python中CPU使用情况。CPU分析是通过分析CPU执行代码的方式来测量代码的性能,以此找到代码中的不妥之处,然后处理它们。接下来我们将看看如何跟踪Python脚本使用时CPU使用情况,重点关注以下几个方面:1、cProfile2、line_profiler3、pprofile4、vprof测量CPU使用率,主要使用与内存分析中使用脚本相同的脚本,具体如下:另外...

weixin_39550379的博客 65

python统计行号_如何使用Python脚本分析CPU的使用情况?

小编给大家分享一个工具,用以分析Python中CPU使用情况。CPU分析是通过分析CPU执行代码的方式来测量代码的性能,以此找到代码中的不妥之处,然后处理它们。接下来我们将看看如何跟踪Python脚本使用时CPU使用情况,重点关注以下几个方面:1、cProfile2、line_profiler3、pprofile4、vprof测量CPU使用率,主要使用与内存分析中使用脚本相同的脚本,具体如下:另外...

weixin_35217123的博客 110
上一篇: Python制作词云图根据蒙板图像确定形状和文字颜色 !
下一篇: 实战Python图形文件操作基本编程 !
普通网友
博客等级 码龄7年 438粉丝 263原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值