#!/usr/bin/env python
# -- coding: utf-8 --
# --------------------------------------------------
# @Time : 2019/6/17 9:59
# @Author :
# @File : totalmem.py
# @Version : 1.0.0
# --------------------------------------------------
''' 统计xxx进程占用的物理内存 '''
''' 用法:python totalmem.py nginx '''
import os
import sys
import subprocess
def getPidList(proc):
# 调用系统pidof命令
# cmd = '''/usr/sbin/pidof %s''' % proc
cmd = '''pidof %s''' % proc
p = subprocess.Popen(cmd, stdout=subprocess.PIPE, shell=True)
pidList = p.stdout.read().split()
return pidList
def getMemSize(pidList):
sum = 0
for pid in pidList:
filename = os.path.join('/proc', pid, 'status')
with open(filename) as fd:
for line in fd.readlines():
if line.startswith('VmRSS'):
memSize = int(line.split()[1])
sum += memSize
break
return sum
if __name__ == '__main__':
proc = sys.argv[1]
pidList = getPidList(proc)
totalMem = getMemSize(pidList)
print('%s占用物理内存:%sKB' % (proc.capitalize(), totalMem))
''' DEBUG选项 '''
# print(pidList)
# print(totalMem)
统计Linux进程占用内存py
最新推荐文章于 2021-09-26 10:50:55 发布