用python计算top命令中某个进程的CPU,Memory使用情况

做性能测试中经常用到top命令,监控一段时间内某个进程的CPU,memory使用情况。10秒中一次输出到文件中,以下的代码是对输出的top文件进行的处理,获取CPU利用率,memory最大,最小,平均值。
 
topfile=raw_input("please input the topfile path :")
try:
    top=open(topfile,"r")
except IOError:
    print "No such file,please check your input"
cpulist=[]
Memorylist=[]
print "#"*50
print "1. if you want to get the max cpu and memory,please input toptest.getMaxValue()\n"
print "2. if you want to get the min cpu and memory,please input toptest.getMinValue()\n"
print "3. if you want to get the average cpu and memory,please input toptest.getAvgValue()\n"
print "#"*50
# get the max value of CPU and memory
 
def getMaxValue():
    cpuPid=int(raw_input("please input the pid: "))
   # print cpuPid
    lineList=top.readlines()
    length=len(lineList)
    for i in range(0,length):
        try:
            pid=int(lineList[i][:6])
            #print "pid = " +str(pid),"cpuPid= "+str(cpuPid)
            if pid==cpuPid:
               # print "#"*10
                #print float(lineList[i][55:60])
                cpulist.append(float(lineList[i][55:60]))
                Memorylist.append(float(lineList[i][29:33])) 
            else:
                "it is not a pid line"
        except ValueError:
            "print the valueError"
    print "the max CPU use is :"+ str(max(cpulist))+"%"
    print "the max Memory use is:"+ str(max(Memorylist))
   
# get the mim value of CPU and memory
def getMinValue():
    print "the min CPU use is:"+str(min(cpulist))+"%"
    print "the max Memory use is:"+ str(min(Memorylist))
def getAvgValue():
    print "the average CPU use is:"+str(float(sum(cpulist))/len(cpulist)) +"%"
    print "the average Memory use is:"+ str(float(sum(Memorylist))/len(Memorylist))

转载于:https://www.cnblogs.com/yd1227/archive/2010/01/28/1658846.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值