mysql 5.7 内存使用监控

5.7 中的performance_schema 已经有能力监控mysql 的内存使用情况了,对于这一点也是要通过instrument 来实现的,由于内存这一块没有对应的consumer 所以只要

配置好instrument 就行了

1、例子:

/etc/my.cnf

[mysqld]
datadir                                    =/usr/local/mysql/data
basedir                                    =/usr/local/mysql
performance_schema_instrument              =‘memory%=counted‘
select event_name,current_alloc from sys.memory_global_by_current_bytes limit 10;
+-----------------------------------------------------------------------------+---------------+
| event_name                                                                  | current_alloc |
+-----------------------------------------------------------------------------+---------------+
| memory/innodb/buf_buf_pool                                                  | 131.06 MiB    |
| memory/innodb/log0log                                                       | 32.01 MiB     |
| memory/performance_schema/events_statements_history_long                    | 13.66 MiB     |
| memory/performance_schema/events_statements_history_long.sqltext            | 9.77 MiB      |
| memory/performance_schema/events_statements_history_long.tokens             | 9.77 MiB      |
| memory/performance_schema/events_statements_summary_by_digest.tokens        | 9.77 MiB      |
| memory/performance_schema/table_handles                                     | 9.06 MiB      |
| memory/performance_schema/events_statements_summary_by_thread_by_event_name | 8.67 MiB      |
| memory/mysys/KEY_CACHE                                                      | 8.00 MiB      |
| memory/performance_schema/memory_summary_by_thread_by_event_name            | 5.62 MiB      |
+-----------------------------------------------------------------------------+---------------+
时间: 2024-10-05 07:51:23

mysql 5.7 内存使用监控的相关文章

MySQL的keepalived高可用监控脚本

MySQL的keepalived高可用监控脚本 MySQL(或者其它服务)的keepalived高可用监控脚本 开发脚本需求 :我们知道,keepalive是基于虚拟ip的存活来判断是否抢占master的机制的,但是如果我们做了MySQL的keepalived的高可用的时候,就要考虑一种情况的发生,那就是如果机器网卡并没有断,二十由于MySQL服务的不稳定,或者人为的误操作,导致的服务关闭,会引起的结果就是,keepalive并不会切换,因为并不是主master的虚拟ip不存在,而是服务已经停止

MYSQL,innodb_buffer_pool_size内存分配方式

以前一直以为MYSQL,innodb_buffer_pool_size=8G,MySQL一起动就会将占用掉8G内存(认为TOP可以看到内存被使用了8G),但是最近才仔细研究一下,原来不是这样的(可能自己对Linux malloc内存分配也只是知道了个皮毛吧),MySQL启动时实际只是在虚拟内存中分配了地址空间,而并没有真正的映射到物理内存上. 因为malloc分配内存是先在虚拟内存中分配地址的,到实际使用时才真正的映射到物理内存 因此这个地方,如果由于机器内存使用不当,到了MySQL真正要映射物

zabbix专题:第九章 自定义key(案例:监控内存,监控nginx状态)

第九章 自定义key 对Linux有兴趣的朋友加入QQ群:476794643 在线交流 本文防盗链:http://zhang789.blog.51cto.com 为什么要自定义KEY 有时候我们想让被监控端执行一个zabbix没有预定义的检测,zabbix的用户自定义参数功能提供了这个方法.我们可以在客户端配置文件zabbix_angentd.conf里面配置UserParameter. 语法如下: UserParameter=key,command 用户自定义参数包含一个key和一个命令,ke

TCMalloc优化Nginx、MySQL、Redis内存管理

TCMalloc(Thread-Caching Malloc)与标准glibc库的malloc实现一样的功能,但是TCMalloc在效率和速度效率都比标准malloc高很多.TCMalloc是google-perftools工具中的一个(gperftools四个工具分别是:TCMalloc.heap-checker.heap-profiler和cpu-profiler),这个工具是开源的,以源码形式发布.如果觉得自己维护一个内存分配器麻烦的话,可以考虑将TCMalloc静态库连接到你的程序中.使

mysql innodb 引擎内存分配项

MySQL做为最流行的开源数据库,innodb在5.6开始已成为默认引擎,在5.7中系统吧引擎也有myisam改为innodb,可以看出innodb引擎现在已经可以满足绝大部分的业务需求,内存分配直接影响MySQL整体运行效率,有innodb_buffer,还有各种cache_size,这些选项都需要合理分配,合理利用服务器有限的内存让MySQL跑的更嗨皮,直接影响的选项有下面几个: innodb_buffer_pool_size:缓冲区,存放表数据.索引数据,大小至关重要,直接影响sql执行时

MySQL性能优化-内存参数配置

Mysql对于内存的使用,可以分为两类,一类是我们无法通过配置参数来配置的,如Mysql服务器运行.解析.查询以及内部管理所消耗的内存:另一类如缓冲池所用的内存等. Mysql内存参数的配置及重要,设置不当很有可能会造成很大的性能问题甚至是服务器宕机,内存相关参数的配置需要考虑以下两点: (1)确定可以使用的内存上限: (2)确定Mysql每个连接使用的内存: 在Mysql的体系中(如下图所示),简单来说可以分为两层,第一层代表各种可以用过Mysql连接协议连接到Mysql的客户端,例如PHP.

MySQL复制中slave延迟监控

在MySQL复制环境中,我们通常只根据 Seconds_Behind_Master 的值来判断SLAVE的延迟.这么做大部分情况下尚可接受,但并不够准确,而应该考虑更多因素. 首先,我们先看下SLAVE的状态: [email protected] [(none)]> show slave status\G *************************** 1. row *************************** Slave_IO_State: Waiting for maste

MYSQL,innodb_buffer_pool_size内存分配

为MYSQL.innodb_buffer_pool_size=8G.MySQL一起动就会将占用掉8G内存(觉得TOP能够看到内存被使用了8G),可是近期才细致研究一下.原来不是这种(可能自己对Linux malloc内存分配也仅仅是知道了个皮毛吧).MySQL启动时实际仅仅是在虚拟内存中分配了地址空间,而并没有真正的映射到物理内存上. 由于malloc分配内存是先在虚拟内存中分配地址的,到实际使用时才真正的映射到物理内存 因此这个地方.假设因为机器内存使用不当.到了MySQL真正要映射物理内存时

[转]solr DataImportHandler 解决mysql 表导入内存溢出问题

最近一个项目要用到solr做全文检索,开始盲人摸象. 用tomcat 7 开始配置,开始正常,但是遇到cookie里有中文就报错. 无奈,换tomcat 6, 结果DataImportHandler 就不间断报内存溢出的错误. 百度google之, 发现资料都是很老的,不是说mysql不支持某属性,就是要自己改导入代码.期间得知 batchSize这个属性,遂查询官网.(关键时刻,还是官网给 力) mysql的设置(红色部分),搞定. <dataSource type="JdbcDataS