shell小工具:读取指定进程的所占内存信息

方法一:
mysqld代表的是mysql的进程,以下是实时查询mysql进程所占的内存信息

#!/bin/bash

mysql_pid=$(ps -ef|grep mysqld|grep -v grep|awk '{print $2}')
awk 'BEGIN{
     printf "%-15s%-15s%-15s\n","servername","pid","mem_size";
}'
while true;do
awk '{
        if($0 ~ /Name/){
            printf "%-15s",$2;
        }
        else if($0 ~ /^Pid/){
            printf "%-15s",$2;
        }
        else if($0 ~ /VmRSS/){
            printf "%-15s\n",$2;
        }
}' /proc/${mysql_pid}/status
sleep 1
done

方法二:

#!/bin/bash

mysql_pid=$(ps -ef|grep mysqld|grep -v grep|awk '{print $2}')
# echo ${mysql_pid}

mysql_servername=$(cat /proc/${
     
     mysql_pid}/status | grep Name | awk '{print $2}')
mysql_mem_pid=$(cat /proc/${
     
     mysql_pid}/status | grep "^Pid" | awk '{print $2}')
mysql_vmrss_size=$(cat /proc/${
     
     mysql_pid}/status | grep -i vmrss | awk '{print $2}')

echo "servername, pid, mem_size"

while true;do
    echo " ${mysql_servername}, ${mysql_mem_pid}, ${mysql_vmrss_size}"
    sleep 1
done


猜你喜欢

转载自blog.csdn.net/qq_43534980/article/details/113079942