我的RDS实例类为db.m3.xlarge,其总内存为15G,我使用RDS已有一段时间,RDS的Freeable Memory继续下降,目前不到3G。
可用内存<总内存* 20%
内存
可用内存–数据库实例上可用的内存量(以兆字节为单位)。 “监视”选项卡指标中的红线针对CPU,内存和存储指标标记为75%。如果实例内存消耗经常超过该界限,则表明您应检查工作负载或升级实例。
交换使用率–数据库实例使用了多少交换空间,以兆字节为单位。
根据上一段,我应该增加实例以增加内存吗? (将RDS实例从db.m3.xlarge修改为db.m3.2xlarge)
我还找到了此链接:
Amazon RDS running out of freeable memory. Should I be worried?
它说:
“简短答案-除非FreeableMemory变得非常低(大约100-200 Mb)或发生大量交换(请参阅RDS SwapUsage指标),否则您不必担心。
但是我的FreeableMemory为2.9G,swapUsage为0。
问题1:
是否需要扩展实例以增加内存? (将RDS实例从db.m3.xlarge修改为db.m3.2xlarge)
问题2:
RDS的可用内存是否会继续减少,直到小于100M?
如果发生这种情况,我可以使用什么方法使可释放内存不小于某个值?
问题3:
此图片显示了innodb_buffer_pool_size:
innodb_buffer_pool_size的值为{DBInstanceClassMemory * 3/4}。
innodb_buffer_pool_size与可释放内存有关吗?
我猜:
总内存-innodb_buffer_pool_size-数据库内存=可用内存
我对吗?
问题4:
CLoudwatch的哪些参数用于判断我的RDS内存不足,交换使用,可用内存,可用内存?