linux监控进程物理内存

方法比较多,提供一种最简单的:


#!/bin/bash

PROCESS="./a.out" #进程名
MAXMEM=1048576    #最大物理内存阀值,单位KB

ID=`ps -ef | grep "${PROCESS}" | grep -v "grep" | awk '{print $2}'`
if [ ! -n "$ID" ]; then
    echo "$PROCESS not exist"
    exit 1
fi

MEM=`cat /proc/$ID/status | grep -e VmRSS | awk '{print $2}'`
if [ $MEM -gt $MAXMEM ]; then
    #超过了,kill或者restart进程
fi


你可能感兴趣的:(linux)