1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
#!/usr/bin/env python
#encoding: utf-8
'''
思路: /proc/xx_pid/status 文件中的关键字段 VmRSS 来获取某个进程占用的物理内存
步骤: 获取 httpd 进程ID列表 --> 通过每个进程id来获取该进程占用物理内存
'''
from subprocess import Popen, PIPE
import os,sys
# 通过程序名称获取 pid 列表
def getProgPids(prog):
    = 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_mem
if __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 程序所占用物理内存相关推荐

  1. Android之中获取应用程序(包)的信息-----PackageManager的使用(一)

    转载:http://blog.csdn.net/qinjuning/article/details/6867806 本节内容是如何获取Android系统中应用程序的信息,主要包括packagename ...

  2. Android中获取应用程序(包)的信息-----PackageManager的使用(一)

    本节内容是如何获取Android系统中应用程序的信息,主要包括packagename.label.icon.占用大小等.具体分为两个 部分,计划如下: 第一部分: 获取应用程序的packagename ...

  3. android中获取应用程序(包)的信息,Android中获取应用程序(包)的信息PackageManager的使用(一).doc...

    Android中获取应用程序(包)的信息PackageManager的使用(一) 本节内容是如何获取Android系统中应用程序的信息,主要包括packagename.label.icon.占用大小等 ...

  4. python 获取程序运行时间

    python 获取程序运行时间 import time # 时间测试 start =time.time() # 运行程序 for i in range(100000000):pass end =tim ...

  5. python读文件路径-python获取程序执行文件路径的方法(推荐)

    1.获取当前执行主脚本方法:sys.argv[0]和_ file _ (1)sys.argv 一个传给Python脚本的指令参数列表.sys.argv[0]是脚本的名字.一般得到的是相对路径,用os. ...

  6. python获取当前日期_Python程序获取当前日期

    python获取当前日期 In the below example – we are implementing a python program to get the current date. 在下 ...

  7. python获取系统内存占用信息的实例方法

    psutil是一个跨平台库(http://code.google.com/p/psutil/),能够轻松实现获取系统运行的进程和系统利用率(包括CPU.内存.磁盘.网络等)信息.它主要应用于系统监控, ...

  8. python 获取参数模块_Python中获取启动程序时后面跟的参数的方法(optparse模块)【冰斌棒】...

    Python中获取启动程序时后面跟的参数的方法(optparse模块)[冰斌棒] 3年前 (2018-01-29)    作者:冰斌棒    分类:冰斌棒18程序计划    阅读次数:871 评论(0 ...

  9. Linux中Python程序CPU占用高排查

    Linux中Python程序CPU占用高排查,Linux中Python程序CPU占用高排查,Linux中Python程序CPU占用高排查 kafka-python==2.0.2和 gevent 新版本 ...

最新文章

  1. xgboost进行分类具体实现
  2. Advice for students of machine learning--转
  3. 【自动驾驶】5. ROS和DDS的区别总结
  4. 窗外传来嬉闹声,我默默关上窗
  5. C++标准输入流、输出流以及文件流
  6. cocos2d-x C++ 原始工程引擎运行机制解析
  7. mysql分片库分页查询_Mysql分库分表
  8. eva每一集片尾曲是谁唱的_新世纪福音战士片尾曲FLY ME TO THE MOON谁唱的?
  9. Cocos2d-xJson数据解析(读取和写入)
  10. 二阶高通有源滤波器设计与仿真测试
  11. java jconsole 远程连接_jconsole连接远程tomcat
  12. 数据库时间相减_SQL 日期相减(间隔)datediff函数,
  13. android7.1添加F13到F24按键
  14. 构造函数创造对象--创建四大天王的对象
  15. vscode取消斜体注释
  16. 卡通农场服务器无响应是怎么回事,卡通农场新买的平板打不开的解决方法
  17. oracle 视图、索引、序列、同义词
  18. 用html做七巧板的方法,纯HTML5绘制的七巧板
  19. 资源---2020考研---百度云---资料2(自己看文章简介)
  20. 2018小米春招,擦黑板

热门文章

  1. java读取属性文件的方法_java读取属性文件的方法
  2. java实现分词_JAVA实现智能分词
  3. c盘扩展卷是灰色的_技术丨电脑C盘装太满?这几招轻松释放空间
  4. notebook中kiil进程从而释放显存的方法
  5. fastText原理和文本分类实战
  6. 计算机强化课程计算机网络,大学计算机网络技术课程教学改革
  7. 用计算机KADIO算方差,KADIO计算器怎样算方差
  8. Failed to convert property value of type java.lang.String to required type java.lang.Integer for pro
  9. 新概念0804:潘石屹学习python
  10. Python 中的 import 与 from import 区别