#!/bin/python #coding=utf-8 import subprocess def MemoryTop(): cmd = """ps uax | grep -v "USER"| sort -nrk4 | head -10 | awk '{print $1, $2, $4, $9, $11}'""" ipmi = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE, universal_newlines=True, stderr=subprocess.PIPE) top_list = ipmi.stdout.read().strip().split('\n') for info in top_list: user, pid, memory_used_percent, dt, process = info.split() process=process.split('/')[-1] print("top_memory_process{user=\"%s\",pid=\"%s\",process=\"%s\"} %s" % (user,pid, process,memory_used_percent)) def CpuTop(): cmd = """ps uax | grep -v "USER"| sort -nrk3 | head -10 | awk '{print $1, $2, $3, $9, $11}'""" ipmi = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE, universal_newlines=True, stderr=subprocess.PIPE) top_list = ipmi.stdout.read().strip().split('\n') for info in top_list: user, pid, cpu_used_percent, dt, process = info.split() process=process.split('/')[-1] print("top_cpu_process{user=\"%s\",pid=\"%s\",process=\"%s\"} %s" % (user,pid, process,cpu_used_percent)) if __name__ == '__main__': MemoryTop() CpuTop()