如何测量通过CMD运行的Python代码的专属CPU使用率?
如何测量Python代码自身的CPU使用率?
要只统计你的Python进程的CPU使用率,最可靠的方案是使用psutil库——它专门用来获取系统和进程的资源使用信息,完全能满足你的需求。
单进程场景
- 先安装库:
pip install psutil
- 编写代码获取当前进程的CPU使用率:
import psutil import time # 获取当前Python进程的实例 proc = psutil.Process() while True: # interval=1表示统计1秒内的CPU使用率,和任务管理器的进程CPU数据对齐 cpu_usage = proc.cpu_percent(interval=1) print(f"当前Python进程CPU使用率: {cpu_usage}%") # 可根据需求调整循环间隔,或者去掉循环单次获取
- 说明:
cpu_percent(interval=1)会阻塞1秒,统计这段时间内该进程占用的CPU百分比;如果把interval设为0,会返回从上一次调用该方法以来的平均值,第一次调用会返回0。
多进程场景
如果你的Python程序是多进程架构(比如用multiprocessing启动了子进程),需要统计主进程+所有子进程的总CPU使用率:
import psutil import time proc = psutil.Process() while True: total_cpu = proc.cpu_percent(interval=1) # 递归获取所有子进程 for child in proc.children(recursive=True): # 子进程用interval=0,避免重复等待统计时间 total_cpu += child.cpu_percent(interval=0) print(f"Python进程组总CPU使用率: {total_cpu}%")
为什么之前的方案无效?
你之前找到的方案大多是调用psutil.cpu_percent()(不带进程实例)或者其他系统命令,这些方法默认统计的是整个系统的总CPU使用率,而非单个进程的,所以和任务管理器里的整体数据一致。
内容的提问来源于stack exchange,提问作者Osama Elghazaly
相关产品推荐
相关产品推荐

