python在linux系统下获取系统内存使用情况的方法


Posted in Python onMay 11, 2015

本文实例讲述了python在linux系统下获取系统内存使用情况的方法。分享给大家供大家参考。具体如下:

"""
Simple module for getting amount of memory used 
by a specified user's processes on a UNIX system.
It uses UNIX ps utility to get the memory usage for 
a specified username and pipe it to awk for summing up
per application memory usage and return the total.
Python's Popen() from subprocess module is used 
for spawning ps and awk.
"""
import subprocess
class MemoryMonitor(object):
  def __init__(self, username):
    """Create new MemoryMonitor instance."""
    self.username = username
  def usage(self):
    """Return int containing memory used by user's processes."""
    self.process = subprocess.Popen("ps -u %s -o rss | awk '{sum+=$1} END {print sum}'" % self.username,
                    shell=True,
                    stdout=subprocess.PIPE,
                    )
    self.stdout_list = self.process.communicate()[0].split('\n')
    return int(self.stdout_list[0])

将上面的代码保存为:memorymonitor.py

调用方法如下:

from memorymonitor import MemoryMonitor
memory_mon = MemoryMonitor('username')
used_memory = memory_mon.usage()

希望本文所述对大家的Python程序设计有所帮助。

Python 相关文章推荐
浅析python中SQLAlchemy排序的一个坑
Feb 24 Python
浅谈Django自定义模板标签template_tags的用处
Dec 20 Python
python matplotlib 注释文本箭头简单代码示例
Jan 08 Python
python使用生成器实现可迭代对象
Mar 20 Python
Python 通过调用接口获取公交信息的实例
Dec 17 Python
python自定义线程池控制线程数量的示例
Feb 22 Python
python 实现视频 图像帧提取
Dec 10 Python
Python定义一个Actor任务
Jul 29 Python
python Matplotlib数据可视化(2):详解三大容器对象与常用设置
Sep 30 Python
python logging模块的使用详解
Oct 23 Python
python学习之使用Matplotlib画实时的动态折线图的示例代码
Feb 25 Python
Python 数据结构之十大经典排序算法一文通关
Oct 16 Python
Python实现登录人人网并抓取新鲜事的方法
May 11 #Python
python实现中文输出的两种方法
May 09 #Python
python使用xlrd实现检索excel中某列含有指定字符串记录的方法
May 09 #Python
Python遍历指定文件及文件夹的方法
May 09 #Python
Python使用chardet判断字符编码
May 09 #Python
python操作ie登陆土豆网的方法
May 09 #Python
Python检测QQ在线状态的方法
May 09 #Python
You might like
xajax写的留言本
2006/11/25 PHP
获取JavaScript用户自定义类的类名称的代码
2007/03/08 Javascript
不使用浏览器运行javascript代码的方法
2013/07/24 Javascript
jquery 扑捉回车键事件代码
2014/04/24 Javascript
jQuery实现的一个自定义Placeholder属性插件
2014/08/11 Javascript
基于NodeJS的前后端分离的思考与实践(二)模版探索
2014/09/26 NodeJs
45个JavaScript编程注意事项、技巧大全
2015/02/11 Javascript
jquery mobile 移动web(5)
2015/12/20 Javascript
Listloading.js移动端上拉下拉刷新组件
2016/08/04 Javascript
js实现文本上下来回滚动
2017/02/03 Javascript
JS中正则表达式要注意lastIndex属性
2017/08/08 Javascript
javascript实现的字符串转换成数组操作示例
2019/06/13 Javascript
JS使用正则表达式判断输入框失去焦点事件
2019/10/16 Javascript
浅析js实现网页截图的两种方式
2019/11/01 Javascript
webpack3.0升级4.0的方法步骤
2020/04/02 Javascript
Python pickle类库介绍(对象序列化和反序列化)
2014/11/21 Python
Python编程入门的一些基本知识
2015/05/13 Python
python pycurl验证basic和digest认证的方法
2018/05/02 Python
浅谈django 模型类使用save()方法的好处与注意事项
2020/03/28 Python
python with语句的原理与用法详解
2020/03/30 Python
教你一分钟在win10终端成功安装Pytorch的方法步骤
2021/01/28 Python
Pytorch - TORCH.NN.INIT 参数初始化的操作
2021/02/27 Python
AmazeUI 列表的实现示例
2020/08/17 HTML / CSS
HTML5 canvas实现的静态循环滚动播放弹幕
2021/01/05 HTML / CSS
北大研究生linux应用求职信
2013/10/29 职场文书
理货员的岗位职责
2013/11/23 职场文书
证婚人搞笑证婚词
2014/01/10 职场文书
详细的大学生创业计划书模板
2014/01/27 职场文书
网络编辑求职信
2014/04/30 职场文书
城市创卫标语
2014/06/17 职场文书
优秀毕业生找工作自荐信
2014/06/23 职场文书
投资意向书
2014/07/30 职场文书
招商引资工作汇报
2014/10/28 职场文书
房屋买卖协议样本
2014/11/16 职场文书
工人先锋号申报材料
2014/12/29 职场文书
倡议书范文大全
2015/04/28 职场文书