Python3 psutils

时间:2017-03-23 15:07:55

标签: python cpu-usage cpu-speed psutil

有没有人知道为什么psutil的cpu_freq()会返回空?我在Debian linux 8.7.1上运行python 3.4。我曾尝试过无论有没有提升权利,都会得到相同的结果。

Python 3.4.2 (default, Oct  8 2014, 10:45:20) 
[GCC 4.9.1] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import psutil
>>> psutil.cpu_freq()
[]
>>> 

正确返回其他CPU信息(例如cpu_stats())。 非常感谢!

3 个答案:

答案 0 :(得分:0)

这是/sys/devices/system/cpu/cpufreq/platform*中的错误,请参阅psutil项目问题跟踪器中的issue #981

CPU频率信息的位置已在最近的内核中移动,从/sys/devices/system/cpu/cpu*/cpufreq目录移动到<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head profile="http://selenium-ide.openqa.org/profiles/test-case"> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <link rel="selenium.base" href="https://fe.rel-330.stage.mpb.com/en-uk/" /> <title>New Test</title> </head> <body> <table cellpadding="1" cellspacing="1" border="1"> <thead> <tr><td rowspan="1" colspan="3">New Test</td></tr> </thead><tbody> <tr> <td>open</td> <td>https://en.wikipedia.org/wiki/Selenium_(software)</td> <td></td> </tr> <tr> <td>waitForText</td> <td>//h3/span</td> <td>Selenium IDE</td> </tr> <tr> <td>verifyText</td> <td>//h3/span</td> <td>wookie</td> </tr> <tr> <td>verifyText</td> <td>//h3/span</td> <td>Selenium IDE</td> </tr> <tr> <td>verifyNotText</td> <td>//h3/span</td> <td>Selenium IDE</td> </tr> <tr> <td>verifyNotVisible</td> <td>//h3/span</td> <td>Selenium IDE</td> </tr> <tr> <td>verifyVisible</td> <td>//h3/span</td> <td>Selenium IDE</td> </tr> <tr> <td>verifyEval</td> <td>storedVars['model1']==storedVars['emailConfirm1']</td> <td>true</td> </tr> <tr> <td>verifyLocation</td> <td>https://notwikipedia.com</td> <td></td> </tr> <tr> <td>assertText</td> <td>//h3/span</td> <td>wookie</td> </tr> <tr> <td>assertText</td> <td>//h3/span</td> <td>Selenium IDE</td> </tr> <tr> <td>assertNotText</td> <td>//h3/span</td> <td>Selenium IDE</td> </tr> <tr> <td>assertNotVisible</td> <td>//h3/span</td> <td>Selenium IDE</td> </tr> <tr> <td>assertVisible</td> <td>//h3/span</td> <td>Selenium IDE</td> </tr> <tr> <td>assertEval</td> <td>storedVars['model1']==storedVars['emailConfirm1']</td> <td>true</td> </tr> <tr> <td>assertLocation</td> <td>https://notwikipedia.com</td> <td></td> </tr> <tr> <td>verifyEval</td> <td>storedVars['model1']==storedVars['emailConfirm1']</td> <td>true</td> </tr> </tbody></table> </body> </html>目录,项目尚未跟进。

5.2.1 release包括the fix for this

答案 1 :(得分:0)

这是一个刚刚在psutil中修复的错误。版本:5.2.1。

与python版本或代码无关。

尝试在Linux系统上从psutil(最新版​​本 - 5.1.3)导入cpu_freq 失败。该函数未定义,因为没有 系统上的/sys/devices/system/cpu/cpufreq(按照此行  https://github.com/giampaolo/psutil/blob/76d1fb61c14d286aa645f154f4a2b7a7bae8a828/psutil/_pslinux.py#L639

然而,/sys/devices/system/cpu/cpu0/cpufreq(对于cpu1,  CPU2 ..)

在Ubuntu 16.04(至少是我的机器)上,有  /sys/devices/system/cpu/cpufreq但它是空的。 因此cpu_freq() 只返回一个空列表,就像你的情况一样。

答案 2 :(得分:0)

这是我刚刚在psutil中修复的错误。