云数据库PolarDB MySQL版内存使用量较多

云数据库PolarDB MySQL版内存使用量较多

更新时间:2020-08-10 11:00:07

问题描述

云数据库PolarDB MySQL版内存使用量较多。

问题原因

云数据库PolarDB MySQL版相比RDS MySQL兼容版,PolarDB的内存使用量会更多,主要原因是PolarDB在很多地方使用了以空间换时间的方法,即以内存使用量换取SQL执行效率,所以内存使用量上会有一定的上升。

解决方案

阿里云提醒您:

  • 如果您对实例或数据有修改、变更等风险操作,务必注意实例的容灾、容错能力,确保数据安全。
  • 如果您对实例(包括但不限于ECS、RDS)等进行配置与数据修改,建议提前创建快照或开启RDS日志备份等功能。
  • 如果您在阿里云平台授权或者提交过登录账号、密码等安全信息,建议您及时修改。

如果发现内存占用过多,可以从以下几个方面诊断:

  1. 将table_open_cache参数调小,并使用flush tables语句关闭所有表空间。该方法对连接数较多的用户来说,效果比较明显。
  2. 关闭自适应哈希,即将innodb_adaptive_hash_index参数值修改为OFF,该功能可能会占用较多内存,但是在现有的SSD磁盘下,性能提升有限。
  3. 适当将Buffer pool参数值调小,该方法比较适用于连接数较多,同时有较多复杂查询的用户,若你需要调整Buffer pool参数值,请提交工单。
  4. 大部分用户的实例,在内存上涨到一定数量后,会停止上涨,这种情况下,即使内存占比比较高,也不用担心,因为PolarDB是尽可能的使用内存,把内存都使用起来,缓存数据,进而提高效率。但是如果发现实例内存不断上涨,甚至发生了OOM,请提交工单。

适用于

  • 云数据库PolarDB MySQL版

如果您的问题仍未解决,您可以在阿里云社区免费咨询,或提交工单联系阿里云技术支持。