点击(此处)折叠或打开
-
#!/bin/bash
-
-
cmd="mysql -Bse "
-
echo -e "MySQL内存使用情况统计"
-
-
#privite memory
-
max_connections=`${cmd} "show variables like 'max_connections'"|egrep -iw 'max_connections' |awk '{print $2}'`
-
max_used_connections=`${cmd} "show global status like 'Max_used_connections'"|egrep -iw 'Max_used_connections' |awk '{print $2}'`
-
read_buffer_size=`${cmd} "show variables like 'read_buffer_size'"|egrep -iw 'read_buffer_size' |awk '{print $2}'`
-
read_rnd_buffer_size=`${cmd} "show variables like 'read_rnd_buffer_size'"|egrep -iw 'read_rnd_buffer_size' |awk '{print $2}'`
-
sort_buffer_size=`${cmd} "show variables like 'sort_buffer_size'"|egrep -iw 'sort_buffer_size' |awk '{print $2}'`
-
thread_stack=`${cmd} "show variables like 'thread_stack'"|egrep -iw 'thread_stack' |awk '{print $2}'`
-
join_buffer_size=`${cmd} "show variables like 'join_buffer_size'"|egrep -iw 'join_buffer_size' |awk '{print $2}'`
-
binlog_cache_size=`${cmd} "show variables like 'binlog_cache_size'"|egrep -iw 'binlog_cache_size' |awk '{print $2}'`
-
-
##shared memory
-
innodb_buffer_pool_size=`${cmd} "show variables like 'innodb_buffer_pool_size'"|egrep -iw 'innodb_buffer_pool_size' |awk '{print $2}'`
-
innodb_additional_mem_pool_size=`${cmd} "show variables like 'innodb_additional_mem_pool_size'"|egrep -iw 'innodb_additional_mem_pool_size' |awk '{print $2}'`
-
innodb_log_buffer_size=`${cmd} "show variables like 'innodb_log_buffer_size'"|egrep -iw 'innodb_log_buffer_size' |awk '{print $2}'`
-
key_buffer_size=`${cmd} "show variables like 'key_buffer_size'"|egrep -iw 'key_buffer_size' |awk '{print $2}'`
-
query_cache_size=`${cmd} "show variables like 'query_cache_size'"|egrep -iw 'query_cache_size' |awk '{print $2}'`
-
-
Innodb_buffer_pool_pages_data=`${cmd} "show global status like 'Innodb_buffer_pool_pages_data'"|egrep -iw 'Innodb_buffer_pool_pages_data' |awk '{print $2}'`
-
Innodb_buffer_pool_pages_total=`${cmd} "show global status like 'Innodb_buffer_pool_pages_total'"|egrep -iw 'Innodb_buffer_pool_pages_total' |awk '{print $2}'`
-
-
-
global_buffers=$(echo "scale=2;($innodb_buffer_pool_size+$innodb_additional_mem_pool_size+$innodb_log_buffer_size+$key_buffer_size+$query_cache_size)/1048576" | bc -l)
-
-
per_thread_buffers=$(echo "scale=2;($read_buffer_size+$read_rnd_buffer_size+$sort_buffer_size+$thread_stack+$join_buffer_size+$binlog_cache_size)/1048576" | bc -l)
-
-
thread_max_buffers=$(echo "scale=2;($read_buffer_size+$read_rnd_buffer_size+$sort_buffer_size+$thread_stack+$join_buffer_size+$binlog_cache_size)*${max_connections} /1048576" | bc -l)
-
-
thread_max_used_buffers=$(echo "scale=2;($read_buffer_size+$read_rnd_buffer_size+$sort_buffer_size+$thread_stack+$join_buffer_size+$binlog_cache_size)*$max_used_connections /1048576" | bc -l)
-
-
Innodb_buffer_pool_Usage=$(echo "scale=2;(${Innodb_buffer_pool_pages_data}/${Innodb_buffer_pool_pages_total})*100" |bc -l)
-
-
echo -e "全局内存大小:${global_buffers} MB"
-
-
echo -e "单线程最大内存:${per_thread_buffers} MB"
-
-
echo -e "最大线程占用内存: ${thread_max_buffers} MB"
-
-
echo -e "历史最大线程占用内存: ${thread_max_used_buffers} MB"
-
-
echo -e "Innodb Buffer Pool使用率: ${Innodb_buffer_pool_Usage}%"
-
- echo