天天看點

統計apache程序所占的實體記憶體及百分比

分析:

# pidof httpd

97144 4574 4573 4572 4571 4570

# cat /proc/97144/status | grep VmRSS

VmRSS:    5032 kB

#!/usr/bin/env python

#coding=utf8

import subprocess

pidcheck = subprocess.Popen('pidof httpd',shell=True,stdout=subprocess.PIPE)

pid = pidcheck.stdout.read().rstrip().split()

memsize = 0

for i in pid:

   filename = "/proc/"+i+"/status"

   #os.path.join("/proc","i","status")     #等同于上條語句

   with open(filename,"r") as statusfile:

       for line in statusfile:

           if line.startswith("VmRSS"):

               memsize+=int(line.split()[1])

print "Apache程序占用記憶體:%sk" % memsize

with open("/proc/meminfo","r") as memfile:

   for line in memfile:

       if line.startswith("MemTotal"):

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

print "Apache程序記憶體占用率為:%.2f%%" % (memsize/float(memtotal)*100)

運作結果:

# python a.py 

Apache程序占用記憶體大小:20472k

Apache程序記憶體占用率為:0.25%

本文轉自 CrazyWing 51CTO部落格,原文連結:http://blog.51cto.com/fklinux/1980631

下一篇: 随機點名2