My RDS instance class is db.m3.xlarge, its total memory is 15G, I used RDS for a while, RDS Freeable Memory continues to decline, currently less than 3G.
So Freeable Memory < total memory * 20%
This Picture1 (Freeable Memory) show this:
The Picture2 (Swap Usage) show this:
According to the link: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_BestPractices.html#CHAP_BestPractices.Performance.RAM
Memory
Freeable Memory – How much RAM is available on the DB instance, in megabytes. The red line in the Monitoring tab metrics is marked at 75% for CPU, Memory and Storage Metrics. If instance memory consumption frequently crosses that line, then this indicates that you should check your workload or upgrade your instance.
swap Usage – How much swap space is used by the DB instance, in megabytes.
According to the above paragraph, should I increase the instance to increase the memory? (Modify RDS instance from db.m3.xlarge to db.m3.2xlarge)
I also found this link:
Amazon RDS running out of freeable memory. Should I be worried?
It said:
"Short answer - you shouldn't worry about Freeable Memory unless it is became really low (about 100-200 Mb) or significant swapping occur (see RDS SwapUsage metric)."
But My FreeableMemory is 2.9G , and swapUsage is 0 .
Question 1:
Do I need to expand the instance to increase memory? (Modify RDS instance from db.m3.xlarge to db.m3.2xlarge)
Question 2:
Will RDS's Freeable memory continue to decrease until it is less than 100M?
If this happens, what method can I use to make Freeable memory not less than a certain value?
Question 3:
This pictures show innodb_buffer_pool_size:
The value of innodb_buffer_pool_size is {DBInstanceClassMemory*3/4} .
Is innodb_buffer_pool_size related to Freeable Memory?
I Guess:
Total memory - innodb_buffer_pool_size - database memory = Freeable Memory
Am I right?
Question 4:
What parameters of CLoudwatch are used to judge my RDS memory is not enough, Swap usage, Free Memory, Freeable memory?