""" 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测试数据municate()[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在linux系统下获取系统内存使用情况的方法的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://haodehen.cn/did88716