python – 可靠地监视当前的CPU使用情况
发布时间:2020-12-20 11:13:03 所属栏目:Python 来源:网络整理
导读:我想用 Python监视Mac上当前系统范围的CPU使用情况. 我编写了一些启动’ps’的代码,并将’%cpu’列中的所有值相加. def psColumn(colName): """Get a column of ps output as a list""" ps = subprocess.Popen(["ps","-A","-o",colName],stdout=subprocess.
我想用
Python监视Mac上当前系统范围的CPU使用情况.
我编写了一些启动’ps’的代码,并将’%cpu’列中的所有值相加. def psColumn(colName): """Get a column of ps output as a list""" ps = subprocess.Popen(["ps","-A","-o",colName],stdout=subprocess.PIPE) (stdout,stderr) = ps.communicate() column = stdout.split("n")[1:] column = [token.strip() for token in column if token != ''] return column def read(self): values = map(float,psColumn("%cpu")) return sum(values) 但是,我总是得到50%-80%的高读数,这可能是由测量程序本身引起的.此CPU使用率峰值未在我的MenuMeters或其他系统监视程序上注册.我怎样才能获得更像MenuMeters会显示的读数? (我想检测某些程序占用CPU的关键情况.) 附:我试过psutil,但是 psutil.cpu_percent() 总是返回100%,所以要么它对我没用,要么我错误地使用它. 解决方法
为了检测某些程序占用CPU时的危急情况,或许查看负载平均值会更好?看一下“uptime”命令.
负载平均数告诉您平均有多少进程正在使用或等待CPU执行.如果它接近或超过1.0,则意味着系统一直忙于某事.如果负载平均值不断提高,则意味着系统无法满足需求并且任务开始堆积.监视系统“运行状况”的负载平均值而不是CPU利用率有两个优点: >系统给??出的平均负载已经平均.它们不会波动那么多,因此解析“ps”输出时不会出现问题. 同时监控自由RAM和交换也是个好主意. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |