实现性能:启动后主动运行,每秒打印一次用户 CPU 使用率,完结脚本时主动计算并打印平均值和最大值。
#!/usr/bin/python
# -*-coding: utf-8 -*-
import subprocess
import os
import time
cmd = "top -bn 1 | grep'Cpu(s)'| awk -F'[\"\"%]+''{print $3}'"
count = 0
total = 0.0
max_use = 0.0
try:
while True:
cpu_usage = os.popen(cmd).readline().strip()
count = count + 1;
cpu_use = float(cpu_usage)
total = total + cpu_use
max_use = max(max_use, cpu_use)
cpu_tip = "user CPU:" + cpu_usage + "%"
print(cpu_tip)
time.sleep(1)
except KeyboardInterrupt:
if count != 0:
per = total / count
print("user CPU per:" + str(per))
print("user CPU max:" + str(max_use))