使用 python 获取 httpd 程序所占用物理内存

使用 python 获取 httpd 程序所占用物理内存,第1张

概述#!/usr/bin/env python #encoding: utf-8 ''' 思路: /proc/xx_pid/status 文件中的关键字段 VmRSS 来获取某个进

 

#!/usr/bin/env python#enCoding: utf-8'''思路: /proc/xx_pID/status 文件中的关键字段 VmRSS 来获取某个进程占用的物理内存步骤: 获取 httpd 进程ID列表 --> 通过每个进程ID来获取该进程占用物理内存'''from subprocess import Popen,PIPEimport os,sys# 通过程序名称获取 pID 列表def getProgPIDs(prog):    p = Popen(['pIDof',prog],stdout=PIPE,stderr=PIPE)    pIDs = p.stdout.read().split()    return pIDs# 通过具体的进程 ID 来获取该进程占用的物理内存def getMemByPID(pID):    fn = os.path.join('/proc',pID,'status')    with open(fn) as fd:        for line in fd:            if line.startswith('VmRSS'):                mem = int(line.split()[1])                break    return mem# 获取 httpd 服务所有进程占用的物理内存def gethttpdMem():    httpd_mem_sum = 0    pIDs = getProgPIDs('httpd')    for pID in pIDs:        httpd_mem_sum += getMemByPID(pID)    return httpd_mem_sum# 获取系统总的物理内存def getosTotalMemory():        with open('/proc/meminfo') as fd:        for line in fd:            if line.startswith('MemTotal'):                total_mem = int(line.split()[1])                break    return total_memif __name__ == '__main__':    http_mem  =  gethttpdMem()    total_mem =  getosTotalMemory()    scale = http_mem / float(total_mem) * 100    print 'httpd: %d KB' % http_mem    print 'Percent: %.2f%%' % scale

  

 

总结

以上是内存溢出为你收集整理的使用 python 获取 httpd 程序所占用物理内存全部内容,希望文章能够帮你解决使用 python 获取 httpd 程序所占用物理内存所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1189685.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存