美文网首页
阿里云 RDS 内存告警阈值配置

阿里云 RDS 内存告警阈值配置

作者: njwander | 来源:发表于2020-05-29 20:18 被阅读0次

排查经过

公司使用的 RDS 服务器出现告警,提示内存使用率平均值超过阈值 60% 。
查看了最近两个月的内存使用情况,发现数据库内存从 20% 一路上涨到了 60%


image.png

担心有内存泄漏,使用命令查看内存数据

show variables where variable_name in ('innodb_buffer_pool_size','innodb_log_buffer_size','innodb_additional_mem_pool_size','key_buffer_size','query_cache_siz';  

查询结果

+-------------------------+------------+
| Variable_name           | Value      |
+-------------------------+------------+
| innodb_buffer_pool_size | 3087007744 |
| innodb_log_buffer_size  | 8388608    |
| key_buffer_size         | 16777216   |
+-------------------------+------------+

innodb_buffer_pool_size 所占用的空间最大,查看阿里云RDS的相关配置,发现此参数设置为 2868M,RDS 实例的内存为 4G 。


image.png

因此当内存阈值设置为 60% 的时候,自然会触发告警。

对 innodb_buffer_pool 的理解一开始有误差,以为会有类似 Java Heap 类似的回收的概念,后来仔细研究了一下,这个参数的大小,只能控制 Mysql 使用内存的上限,Mysql 会尽可能的使用缓存。那么之前曲线增长缓慢,也是因为业务在逐渐增长,到目前为止,还没有把缓存使用完。

后续

后来在阿里云官方文档《云数据库MySQL实例的内存使用率告警》中,也找到了对应的说明:

云数据库 RDS MySQL 版的缓冲池默认使用实例内存规格的80%,在实例使用过程中势必会造成缓冲池内存占比的增加。
当内存使用超过80%出现告警,且确认为缓冲池内存占用时,建议将监控指标设置为90%。

相关文章

网友评论

      本文标题:阿里云 RDS 内存告警阈值配置

      本文链接:https://www.haomeiwen.com/subject/rdifzhtx.html