MariaDB找出占用CPU的sql查询

#!/bin/bash
TOP_N=${2:-10}
PID=$(pgrep -o -x mysqld) 
[ -z "$PID" ] && PID=$(pgrep -o -x mariadbd)
TID=`top -H -p $PID -b -n 1 | tail -n +8 | awk -v pid="$PID" '$1 != pid {printf "%s\t%s\n",$1,$9}' | sort -k2 -nr | head -n $TOP_N|awk '{ print $1 }'|paste -sd ',' -`
mariadb -h'127.0.0.1' -P'3306' -u'root' -p'密码'  -e "SELECT * FROM information_schema.processlist WHERE tid IN ($TID) ORDER BY time DESC;"

根据MariaDB的PID查询出PID,再根据TID去information_schema.processlist里面找出对应的sql查询。

添加新评论 »