Chinaunix首页 | 论坛 | 博客
  • 博客访问: 83986
  • 博文数量: 19
  • 博客积分: 1470
  • 博客等级: 上尉
  • 技术积分: 210
  • 用 户 组: 普通用户
  • 注册时间: 2006-03-18 11:08
文章分类

全部博文(19)

文章存档

2012年(1)

2008年(1)

2007年(1)

2006年(16)

我的朋友

分类: Python/Ruby

2006-04-08 11:19:15

做性能测试中经常用到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))
       
   
阅读(3117) | 评论(2) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2008-06-10 22:33:39

r是read only的意思

chinaunix网友2008-04-03 16:03:48

请问在 top=open(topfile,"r") 这里的r是指怎样的文档?