首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用psutil.get_cpu_percent()?

如何使用psutil.get_cpu_percent()?
EN

Stack Overflow用户
提问于 2014-01-13 11:40:08
回答 4查看 27.6K关注 0票数 3

如何准确地使用函数get_cpu_percent()?

我的代码是:

代码语言:javascript
复制
SDKTestSuite.DijSDK_CalculateFps(int(timeForFPS),int(index),cameraName)
cpuUsage = process.get_cpu_percent()

这里,我调用一个名为SDKTestSuite.DijSDK_CalculateFps()的函数,并调用get_cpu_percent()来获取该调用的CPU使用情况。我为不同的输入调用这个函数,其结果有时是CPU的使用给0.0%带来了意想不到的结果。

那么,我是否以正确的方式使用get_cpu_percent?如何准确地使用这个get_cpu_percent函数?这里有任何区间参数变化吗?

在这个函数的实际定义中,它只是在给定的时间间隔内休眠,并比较CPU时间,但是它如何计算这里的功能调用呢?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2014-01-16 05:38:22

谢谢大家..。我找到了我的查询的解决方案。

代码语言:javascript
复制
>>> p = psutil.Process(os.getpid())
>>> # blocking
>>> p.get_cpu_percent(interval=1)
2.0
>>> # non-blocking (percentage since last call)
>>> p.get_cpu_percent(interval=0)
2.9

在这里,区间值非常重要。最后的调用将给出cpu在实际函数调用中所占的百分比。

票数 1
EN

Stack Overflow用户

发布于 2014-01-13 11:59:19

如果您阅读医生们psutil.cpu_percent将:

返回一个浮点,表示当前系统范围内CPU利用率的百分比…。当间隔为0.0或None时,比较上次调用或模块导入后运行的系统CPU时间,立即返回…

我很确定这不是你想要的。

首先,如果您想知道特定调用期间的CPU使用情况,您必须(a)在函数之前和之后调用它,或者(b)从与调用并行运行的另一个线程或进程调用它,并同时调用(通过传递一个interval)。

第二,如果你想知道调用所用的CPU时间,而不是你的计算机上的每一个程序所使用的CPU时间,那么你甚至没有调用正确的函数,所以没有办法让它做你想做的事情。

而在psutil中,没有任何东西能够做到这一点。psutil的全部意义在于它从“外部”的角度提供有关您的系统和程序的信息。它不知道什么时候你运行了什么功能。

但是,stdlib也有这样的功能,比如resource.getrusagecProfile模块。在不知道你想要完成什么的情况下,很难确切地告诉你该做什么,但是也许如果你读了那些链接的文档,他们会给你一些想法。

票数 11
EN

Stack Overflow用户

发布于 2017-01-22 08:38:37

你需要psutil

代码语言:javascript
复制
pip install psutil

然后

代码语言:javascript
复制
import psutil,os
p = psutil.Process(os.getpid())
print(p.cpu_percent())
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21090379

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档