show_mem_usage.sh

##查看MYSQL数据库内存使用情况

点击(此处)折叠或打开

  1. #!/bin/bash

  2. cmd="mysql -Bse "
  3. echo -e "MySQL内存使用情况统计"

  4. #privite memory
  5. max_connections=`${cmd} "show variables like 'max_connections'"|egrep -iw 'max_connections' |awk '{print $2}'`
  6. max_used_connections=`${cmd} "show global status like 'Max_used_connections'"|egrep -iw 'Max_used_connections' |awk '{print $2}'`
  7. read_buffer_size=`${cmd} "show variables like 'read_buffer_size'"|egrep -iw 'read_buffer_size' |awk '{print $2}'`
  8. read_rnd_buffer_size=`${cmd} "show variables like 'read_rnd_buffer_size'"|egrep -iw 'read_rnd_buffer_size' |awk '{print $2}'`
  9. sort_buffer_size=`${cmd} "show variables like 'sort_buffer_size'"|egrep -iw 'sort_buffer_size' |awk '{print $2}'`
  10. thread_stack=`${cmd} "show variables like 'thread_stack'"|egrep -iw 'thread_stack' |awk '{print $2}'`
  11. join_buffer_size=`${cmd} "show variables like 'join_buffer_size'"|egrep -iw 'join_buffer_size' |awk '{print $2}'`
  12. binlog_cache_size=`${cmd} "show variables like 'binlog_cache_size'"|egrep -iw 'binlog_cache_size' |awk '{print $2}'`

  13. ##shared memory
  14. innodb_buffer_pool_size=`${cmd} "show variables like 'innodb_buffer_pool_size'"|egrep -iw 'innodb_buffer_pool_size' |awk '{print $2}'`
  15. innodb_additional_mem_pool_size=`${cmd} "show variables like 'innodb_additional_mem_pool_size'"|egrep -iw 'innodb_additional_mem_pool_size' |awk '{print $2}'`
  16. innodb_log_buffer_size=`${cmd} "show variables like 'innodb_log_buffer_size'"|egrep -iw 'innodb_log_buffer_size' |awk '{print $2}'`
  17. key_buffer_size=`${cmd} "show variables like 'key_buffer_size'"|egrep -iw 'key_buffer_size' |awk '{print $2}'`
  18. query_cache_size=`${cmd} "show variables like 'query_cache_size'"|egrep -iw 'query_cache_size' |awk '{print $2}'`

  19. 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}'`
  20. 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}'`


  21. 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)

  22. 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)

  23. 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)

  24. 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)

  25. Innodb_buffer_pool_Usage=$(echo "scale=2;(${Innodb_buffer_pool_pages_data}/${Innodb_buffer_pool_pages_total})*100" |bc -l)

  26. echo -e "全局内存大小:${global_buffers} MB"

  27. echo -e "单线程最大内存:${per_thread_buffers} MB"

  28. echo -e "最大线程占用内存: ${thread_max_buffers} MB"

  29. echo -e "历史最大线程占用内存: ${thread_max_used_buffers} MB"

  30. echo -e "Innodb Buffer Pool使用率: ${Innodb_buffer_pool_Usage}%"

  31. echo


请使用浏览器的分享功能分享到微信等