首页 > 编程语言 > 详细

使用python获取应用程序占据的内存

时间:2016-09-01 16:34:14      阅读:973      评论:0      收藏:0      [点我收藏+]

#!/usr/bin/env python

#coding:utf-8


import os

from subprocess import Popen,PIPE


def gitPid():   #拿到java系统进程值

    p = Popen([‘pidof‘,‘java‘],stdout=PIPE,stderr=PIPE)

    pids = p.stdout.read().split()

    return pids

   

def parsePidFile(pids):  #访问VmRSS物理内存值并作累计

    sum = 0

    for i in pids:

        fn = os.path.join(‘/proc/‘,i,‘status‘)

        with open(fn) as fd:

            for line in fd:

                if line.startswith(‘VmRSS‘):

                   http_mem = int(line.split()[1])

                   sum += http_mem

                   break

    return sum


def total_mem(self):

    with open(self) as fd:

        for line in fd:

            if line.startswith(‘MemTotal‘):

                total_mem = int(line.split()[1])

                return total_mem



if __name__ == ‘__main__‘:

    pids = gitPid()

    http_mem = parsePidFile(pids)

    total = total_mem(‘/proc/meminfo‘)

    

    print "nginx使用内存:%s KB" % http_mem

    print "占总共内存的使用量: %.2f%% " % (http_mem/float(total)*100)


本文出自 “学习交流” 博客,请务必保留此出处http://725689.blog.51cto.com/715689/1845177

使用python获取应用程序占据的内存

原文:http://725689.blog.51cto.com/715689/1845177

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!