could use your help in understanding this. I'm running an RDS MySQL instance (db.m3.large on SSD) with 100GB of storage.

I'm a little freaked out that my memory is 50% there:

chart http://f.cl.ly/items/2130242A0K040E392h0L/10.png

I must be doing something wrong, because the server is not heavily used at all at this point. Here's the graph for the last 2 weeks:

2 week usage chart http://f.cl.ly/items/2y411W0z0I1V1T0T3O3T/11.png

As you can see, CPU is mostly at 0%, DB connections are low, write/read ops are low too.

I do run all InnoDB tables. The only thing that comes to mind (that could've increased memory so high) is my analytics feature. I have one table (sharded) which stores daily summary of analytics computations. That table has 4 mediumtext fields, so I've changed InnoDB to use Barracuda file format for that table (that way I can have row_format=compressed). That's the only DB parameter that's not default for that instance (everything else is out of the box).

I don't even have many rows in that table and the largest row is at maybe 35kb max for now. There's 56 rows for the biggest client (I don't have many clients either). So it's surprising to me that this is what could be causing that...

Could you give me any insight into why my memory could be so high (aka what I messed up)? Is it because MySQL caches my analytics queries/results? Or is it something else?

  • 1
    linuxatemyram.com or in other words why aren't you worried that half the amount of available memory is completely wasted not doing anything at all? ;) – HBruijn Aug 23 '15 at 20:12
  • Are you seeing performance problems? Why do you want your memory to not be used? If you're not using your memory, it's wasted. – EEAA Aug 23 '15 at 20:13
  • @HBruijn The question here is, is this a linuatemyram problem, or an RDS monitoring problem? – sysadmin1138 Aug 23 '15 at 20:15
  • HBruijn, I am definitely a sysadmin newbie :( EEAA, my performance doesn't seem to be degraded at all (edit: or at least I'm not seeing it). Is 50% usage normal?! sysadmin1138, thank you for embedding my images!! – John Derring Aug 23 '15 at 20:15

Your hint as to what is going on is in the "Freeable Memory" chart. If your database was holding a lot of table-data and index-data in the process memory, that number would be a lot smaller than it is. As it stands, Freeable is almost as large as Total.

Working as designed, nothing to see here. Please set PANIC = FALSE.

  • Very helpful explanation re: Freeable Memory, thank you for that! Wow, I guess I expected a large instance to run on less memory than 50%... TIL that that's normal. Setting panic to false (will finish replication in 5 mins as I calm down). Thank you @sysadmin1138 :) – John Derring Aug 23 '15 at 20:25

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.