> We were seeing average 88% memory usage
My 64GB MacBook Pro sits around that level after using it for a while, too. So do my Windows and Linux machines even with different amounts of RAM.
There's a popular page explaining it for Linux, but it's applicable to every OS: https://www.linuxatemyram.com/
Isolated RAM usage numbers aren't useful because spare memory is used for caching. Even if you are using 88% of the RAM, that's not indicative of a problem unless you're encountering a lot of swapping. Even swapping a little bit isn't bad if it's not stalling the machine out. You have to look at actual performance, not RAM usage percentages.
I don't understand why the default way to show RAM usage on Linux isn't to simply show "In Use vs. Available".
I don't care how much cache is being used and I can't really do anything about it even if I did.
My 32 GB MacBook Pro sits at about 50%, even after months of being powered on, unless I'm running programs that use a lot of memory. That's at least what Activity Monitor reports, perhaps Activity Monitor reports it in a different way.
I truly hate, more than anything else in the tech discourse, that this gets trotted out every time the discussion of RAM comes up. "unUsED rAM iS wASTED RAm", always used to defend and justify abhorrent and incompetent software development practices. Even with 32gb, I routinely run into out-of-memory crashes on a near-daily basis with workloads that should not in principle be anywhere near that usage.
If they were making decisions based on RAM, they were almost certainly encountering real-world issues which prompted looking at their usage statistics in the first place, rather than just looking up their RAM usage metrics for funsies.
I’ve had to explain too many times to people who should know better that “rss” is not how much memory a process needs but how much the operating system allows it to have. Put other stuff on the machine and that number will go down. No it’s not that improvement you think you made to that data structure. If you want that, look at total memory or heap size after GC if it’s a garbage collected language.