We have an RDS db.t3.micro running. Its shows memory usage of 90% eventhough we are not running.
Freeable memory always shows only ~100MB (we are not running anything since it occupies ~900MB of RAM).
Tried below ways to make more freeable memory (custom parameter group),
All the above failed to make more freeable memory.
how to make more freeable memory?
Is there a way to identify what is using how much memory, so that we can adjust according to our need?
According to https://repost.aws/knowledge-center/low-freeable-memory-rds-mysql-mariadb, the allocation of memory is
Maximum MySQL Memory Usage = innodb_buffer_pool_size + key_buffer_size + ((read_buffer_size + read_rnd_buffer_size + sort_buffer_size + join_buffer_size) X max_connections)
You have provided Innodb_buffer_pool_size
in your question, but you need to check these other parameters as well.
However, note that the article also mentions that 80% to 90% memory usage is actually expected.
To optimize performance, RDS for MySQL allocates 80% to 90% of the available memory on an instance to the default parameters.
So unless you have a need to enable certain parameters that consume more memories, your current usage is probable fine.