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 相关文章推荐
利用打码兔和超人打码自封装的打码类分享
Mar 16 Python
分享Python字符串关键点
Dec 13 Python
Python实现的十进制小数与二进制小数相互转换功能
Oct 12 Python
python使用正则表达式的search()函数实现指定位置搜索功能
Nov 10 Python
Python之Scrapy爬虫框架安装及使用详解
Nov 16 Python
Python与人工神经网络:使用神经网络识别手写图像介绍
Dec 19 Python
Python数据拟合与广义线性回归算法学习
Dec 22 Python
python中单下划线_的常见用法总结
Jul 10 Python
使用TensorFlow实现SVM
Sep 06 Python
python 线性回归分析模型检验标准--拟合优度详解
Feb 24 Python
基于Tensorflow一维卷积用法详解
May 22 Python
python 基于opencv操作摄像头
Dec 24 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
浅谈Windows下 PHP4.0与oracle 8的连接设置
2006/10/09 PHP
PHP实现的折半查找算法示例
2017/12/19 PHP
ExtJS 简介 让你知道extjs是什么
2008/12/29 Javascript
IE DOM实现存在的部分问题及解决方法
2009/07/25 Javascript
jQuery validate 中文API 附validate.js中文api手册
2010/07/31 Javascript
封装了一个js图片轮换效果的函数
2011/09/28 Javascript
JavaScript函数的4种调用方法详解
2014/04/22 Javascript
Jquery ui datepicker设置日期范围,如只能隔3天【实现代码】
2016/05/04 Javascript
为jQuery-easyui的tab组件添加右键菜单功能的简单实例
2016/10/10 Javascript
Bootstrap CSS布局之表格
2016/12/17 Javascript
vue.js实现备忘录功能的方法
2017/07/10 Javascript
vuejs 制作背景淡入淡出切换动画的实例
2018/09/01 Javascript
小程序视频或音频自定义可拖拽进度条的示例代码
2018/09/30 Javascript
angularJs提交文本框数据到后台的方法
2018/10/08 Javascript
iview在vue-cli3如何按需加载的方法
2018/10/31 Javascript
Layui 导航默认展开和菜单栏选中高亮设置的方法
2019/09/04 Javascript
浅谈Python的异常处理
2016/06/19 Python
微信跳一跳python辅助软件思路及图像识别源码解析
2018/01/04 Python
Python实现可自定义大小的截屏功能
2018/01/20 Python
tensorflow 获取模型所有参数总和数量的方法
2018/06/14 Python
python语言元素知识点详解
2019/05/15 Python
python3.6环境安装+pip环境配置教程图文详解
2019/06/20 Python
使用PyTorch实现MNIST手写体识别代码
2020/01/18 Python
Python列表的深复制和浅复制示例详解
2021/02/12 Python
HTML5本地存储localStorage、sessionStorage基本用法、遍历操作、异常处理等
2014/05/08 HTML / CSS
adidas旗下高尔夫装备供应商:TaylorMade Golf(泰勒梅高尔夫)
2016/08/28 全球购物
兰蔻美国官网:Lancome美国
2017/04/25 全球购物
历史学专业推荐信
2013/11/06 职场文书
安全检查管理制度
2014/02/02 职场文书
区政府领导班子个人对照检查材料
2014/09/25 职场文书
2014院党委领导班子及其成员群众路线对照检查材料思想汇报
2014/10/04 职场文书
死亡赔偿协议书
2015/01/28 职场文书
2015年推广普通话演讲稿
2015/03/20 职场文书
2015年卫生监督工作总结
2015/05/21 职场文书
情况说明书格式及范文
2019/06/24 职场文书
Spring Boot 实现 WebSocket
2022/04/30 Java/Android