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

本文实例讲述了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中copy()方法的使用
  • Python中使用copy模块实现列表(list)拷贝
  • Python 拷贝对象(深拷贝deepcopy与浅拷贝copy)
  • linux下python抓屏实现方法
  • 在Linux下调试Python代码的各种方法
  • 使用Python脚本对Linux服务器进行监控的教程
  • python实现linux下使用xcopy的方法