方法一:
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