#!/bin/bash
echo "==process_cpu_mem(process_name)"
function urldb_cpu_mem(){
number_of_urldbcpurow=$(ps waux | grep "urldb" | grep -v "grep" -c)
urldb_pid=$(ps waux | grep "urldb" | grep -v "grep" | awk '{print $2}') #获取进程pid
if [ ${number_of_urldbcpurow} -gt 1 ];then
total_mem=$(free -k | awk '{if(NR==2) print $2}')
for url_pid in ${urldb_pid}
do
mem_pid=$(cat /proc/${url_pid}/status|awk '/^VmRSS/{print $2}') #获取内存占用
mem_percentage=$(printf "%.3f" $(echo "scale=3;${mem_pid}/${total_mem}" | bc))
cpu_percentage=$(top -bn 1 -p ${url_pid}|tail -2|head -1|awk '{ssd=NF-3} {print $ssd}') #获取cpu占用
echo "process_name=urldb_"${url_pid},"cpu_percentage="${cpu_percentage},"mem_percentage="${mem_percentage}
done
else
total_mem=$(free -k | awk '{if(NR==2) print $2}')
mem_pid=$(cat /proc/${urldb_pid}/status|awk '/^VmRSS/{print $2}') #获取内存占用
mem_percentage=$(printf "%.3f" $(echo "scale=3;${mem_pid}/${total_mem}" | bc))
cpu_percentage=$(top -bn 1 -p ${urldb_pid}|tail -2|head -1|awk '{ssd=NF-3} {print $ssd}')
echo "process_name=urldb_"${urldb_pid},"cpu_percentage="${cpu_percentage},"mem_percentage="${mem_percentage}
fi
}
main (){
urldb_cpu_mem
}
main
网友评论