统计apache进程所占的物理内存及百分比

本文介绍了一种使用Python脚本来检测Apache服务器进程所占用的内存大小的方法,并计算了其内存占用率。通过读取/proc文件系统中的信息,该脚本能够获取到每个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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值