实现功能:启动后自动运行,每秒打印一次用户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))
网友评论