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

吴尼玛
32 声望11 粉丝

记问之学