如何用psutil获取与任务管理器匹配的CPU和内存使用率数据?
问题:psutil脚本获取的CPU/内存使用率与任务管理器差异过大
我需要开发一个psutil脚本,以百分比形式记录Python 2脚本的内存和CPU使用率,使用了如下循环代码:
while True: for process in psutil.process_iter(): with process.oneshot(): if process.pid == os.getpid(): metrics_file.write("CPU-%: {} | MEMORY: {}".format( process.cpu_percent(1)/psutil.cpu_count(), process.memory_percent() ))
但获取的数值与任务管理器数据差异极大:CPU百分比是任务管理器的2-3倍,内存百分比高达10倍。已确认任务管理器中PID正确,且已切换为百分比显示模式,推测是计算逻辑出错,但无法定位问题。
因psutil方案未成功,我转而使用Windows性能监视器将CPU数据记录为CSV文件处理,也了解到该工具可通过特定方法获取PID。
内容的提问来源于stack exchange,提问作者Maximilian
相关产品推荐
相关产品推荐

