备忘录

获取端口实际使用内存大小

1
pid=`netstat -anp|grep -i mysqld|grep LISTEN |grep tcp |grep 3316 |awk '{print $7}' |awk -F'/' '{print $1}'`;ps -e -o 'pid,comm,rsz'|egrep 'mysqld '|grep $pid|awk '{print $3/1024/1024"G"}'

mysql统计io分布

1
pt-ioprofile -p 31306 --run-time=60 --save-samples=./mysql_ioprofile.txt --group-by=filename --cell=count --aggregate=sum

神级命令 perf

首先用top看看,确认是mysqld消耗了cpu然后登陆到MySQL show processlist,看看有没有异常,检查一下threads_running/QPS/TPS有没有显著提高,确认一下是否有慢查询,如果这些都不能帮助你找到问题,就借助神一样的工具perf top,可以看到cpu都用在执行哪个函数了,这样应该可以找到问题原因

1
perf top -p 3774

使用 Perf 优化程序性能

性能工具(特别推荐)