What is "freeable memory"?

Solution 1:

It includes cached memory and memory used for buffers (besides what's really free/unused). They'll all be freed if an application requests more memory than what's free.

Solution 2:

It is basically available RAM. See answer from AWS here https://forums.aws.amazon.com/thread.jspa?threadID=209720 and the official docusmtation here http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_BestPractices.html.

If you have a lot of freeable memory you can downgrade to a smaller instance. If you are running out of freeable memory, then it is time to upgrade.


Solution 3:

From this Q&A on the AWS Forum:

The freeable memory includes the amount of physical memory left unused by the system plus the total amount of buffer or page cache memory that are free and available.

So it's freeable memory across the entire system. While MySQL is the main consumer of memory on the host we do have internal processes in addition to the OS that use up a small amount of additional memory.

If you see your freeable memory near 0 or also start seeing swap usage then you may need to scale up to a larger instance class or adjust MySQL memory settings. For example decreasing the innodb_buffer_pool_size (by default set to 75% of physical memory) is one way example of adjusting MySQL memory settings.


Solution 4:

FreeableMemory is the memory that's being consumed by OS cache, and it will be given back when needed and nothing to worry about.