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脚本生成Android SALT扰码的方法
Sep 18 Python
深入探究Python中变量的拷贝和作用域问题
May 05 Python
Python 遍历子文件和所有子文件夹的代码实例
Dec 21 Python
Python 模块EasyGui详细介绍
Feb 19 Python
Python、PyCharm安装及使用方法(Mac版)详解
Apr 28 Python
Python实现嵌套列表及字典并按某一元素去重复功能示例
Nov 30 Python
python代码实现ID3决策树算法
Dec 20 Python
python读文件保存到字典,修改字典并写入新文件的实例
Apr 23 Python
python3判断url链接是否为404的方法
Aug 10 Python
浅述python中深浅拷贝原理
Sep 18 Python
python实现三次样条插值
Dec 17 Python
Windows平台Python编程必会模块之pywin32介绍
Oct 01 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
PHP脚本数据库功能详解(中)
2006/10/09 PHP
phpmyadmin显示utf8_general_ci中文乱码的问题终级篇
2013/04/08 PHP
深入php之规范编程命名小结
2013/05/15 PHP
php实现的操作excel类详解
2016/01/15 PHP
基于php判断客户端类型
2016/10/14 PHP
PHP删除二维数组中相同元素及数组重复值的方法示例
2017/05/05 PHP
详细解读php的命名空间(一)
2018/02/21 PHP
TP5.0框架实现无限极回复功能的方法分析
2019/05/04 PHP
PHP cookie与session会话基本用法实例分析
2019/11/18 PHP
document对象execCommand的command参数介绍
2006/08/01 Javascript
xmlHTTP实例
2006/10/24 Javascript
在js中使用"with"语句中跨frame的变量引用问题
2007/03/08 Javascript
js indexOf()定义和用法
2012/10/21 Javascript
javascript中数组的多种定义方法和常用函数简介
2014/05/09 Javascript
javascript中2个感叹号的用法实例详解
2014/09/04 Javascript
javascript三元运算符用法实例
2015/04/16 Javascript
jQuery实现返回顶部效果的方法
2015/05/29 Javascript
jquery在ie7下选择器的问题导致append失效的解决方法
2016/01/10 Javascript
基于JS代码实现实时显示系统时间
2016/06/16 Javascript
jQuery实现ToolTip元素定位显示功能示例
2016/11/23 Javascript
js清除浏览器缓存的几种方法
2017/03/15 Javascript
如何给ss bash 写一个 WEB 端查看流量的页面
2017/03/23 Javascript
详解Angular的8个主要构造块
2017/06/20 Javascript
JS数组方法join()用法实例分析
2020/01/18 Javascript
Centos Python2 升级到Python3的简单实现
2016/06/21 Python
Python中property函数用法实例分析
2018/06/04 Python
python写入数据到csv或xlsx文件的3种方法
2019/08/23 Python
轻松制作精彩视频:Animoto
2018/09/19 全球购物
Diptyque英国官方网站:源自法国的知名香氛品牌
2019/08/28 全球购物
英国在线滑雪板和冲浪商店:The Board Basement
2020/01/11 全球购物
高校生生产实习自我鉴定
2013/09/21 职场文书
安全生产宣传标语
2014/06/06 职场文书
与美同行演讲稿
2014/09/13 职场文书
商业门面租房协议书
2014/11/25 职场文书
美丽的大脚观后感
2015/06/03 职场文书
深入理解Vue的数据响应式
2021/05/15 Vue.js