华为云云数据库rdsRDS for MariaDB数据库内存使用率过高怎么处理_云淘科技

对于用户核心业务相关的库

请扩容实例规格。

对于非用户核心业务相关的库

查看本地计算机的内存使用率,如果使用率曲线持续平缓,则无需处理。

对于用户核心业务相关但是数据库规格配置很高的库

在业务低峰期,将数据库参数“performance_schema”的值调整为“OFF”,需要重启数据库才能生效。
通过智能DBA助手查看实例的内存使用情况,具体请参见查看性能指标。

如果实例的空间使用率仍持续保持较高:

请扩容实例规格。
调整数据库参数“innodb_buffer_pool_size”的值:

数据库实例为2GB规格,参考值268,435,456 Byte(256MB)。
数据库实例为4GB规格,参考值1,073,741,824 Byte(1GB)。
数据库实例为8GB规格,参考值3,221,225,472 Byte(3GB)。
数据库实例内存大于8GB规格,则无需调整。

请根据业务实际情况,调整参数“innodb_buffer_pool_size”的值。
MariaDB本身具有内存动态平衡机制,90%以下您可无需关注。
RDS for MariaDB的内存分配可划分为Engine层与Server层。

Engine层的内存包括InnoDB Buffer Pool、Log Buffer、Full Text Index Cache,其中InnoDB Buffer Pool为常驻内存,占用内存较大。

InnoDB缓冲池是一个内存区域,用于保存InnoDB表、索引和其他辅助缓冲区的缓存数据,可以通过参数“innodb_buffer_pool_size”定义缓冲池大小。

Server层的内存占用较高的包括Thread Cache、BinLog Cache、Sort Buffer、Read Buffer、Join Buffer等线程缓存,这类缓存非常驻内存,往往会随着连接关闭而释放。

以上内存的分配导致RDS for MariaDB实例运行时内存使用率在80%左右。

父主题: 性能调优

同意关联代理商云淘科技,购买华为云产品更优惠(QQ 78315851)

内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家