MacOS – High memory usage on MacOS Catalina


I noticed that most of the time, Activity Monitor tells me that memory used is above 10 Gb (out of 16). But the processes listed doesn't seem to consume as much memory.

Here are screenshots :
Ordered By Real Memory

Ordered By Memory

I also want to add that my macOS installation is quite clean (and recent).
I don't expect a virus or something to be the origin of a high memory consumption.
This is a 2017 Macbook Pro 15" with macOS Catalina (10.15.2).

At the time the screenshots were taken, I was using Visual Studio Code for web programming with Chrome (12 tabs), Firefox (3 tabs), MySQLWorkBench with no script running, Trello, a 3 page Word document and a freshly created blank Excel spreadsheet.

Do you think it is normal ?

Best Answer

Yes - your Mac is perfectly normal and here's how to tell precisely how much extra RAM you can allocate to reach pre-designed limits that Apple has established for macOS.

  • no swap (which isn't a problem either, just if you wait for swapping then it's a problem)
  • no memory pressure
  • all memory should get allocated since unused RAM is a waste the system is designed to allocate it all and if it cannot, you purchased too much RAM.

You’ve provided very excellent details and thinking in this analysis. Overall, everything looks to be functioning perfectly, well allocating memory to all the programs you have, zero memory pressure, the compression routine is starting to kick in - you have a very balanced amount of wired to application-specific memory.

I wouldn’t worry a bit and this looks exactly like a normal system running in balance with excess RAM available for you to add significant more programs or data processing.

All UNIX type operating systems are designed to keep in RAM all the data it can and minimize the amount of free memory since it can release the allocations instantly when a new use is higher priority than the old cached data that can is there just in case:

Basically, the memory system has many layers of physical and logical abstractions that let it commit what looks to be a poor allocation on first glance that in practice is efficient, speedy and very well tested in practice.

When you would start to worry about not enough memory, the system will draw the pressure chart in yellow and red. Even running there can be just fine, it only means you can’t add more memory hungry processes, and not that you’re actually being slowed due to pressure.

From the above link, you can convince yourself how much extra memory you have ready to go by artificially running a command to over-allocate memory until you reach the warning level (or the critical level). Here are screen shots of my MacBook that runs every bit as fast when over-allocated to critical - everything is as snappy in Safari / Photos / whatever as it is with zero memory pressure.

green memory pressure shown in Activity Monitor

The above image is everything going back to green after running the critical command and pressing control+C (or closing the terminal window running the memory_pressure diagnostic.

sudo memory_pressure -l warn
sudo memory_pressure -l critical

Here are the images after warning and critical - you can see how much allocation was needed to push the system to these thresholds:

warning = yellow memory pressure shown in Activity Monitor

critical = red memory pressure shown in Activity Monitor

So, on my Mac that only has 8 GB of RAM, I needed to allocate another 4.65 GB of memory to reach the "warning" state and another 6.46 GB of memory to reach the "critical" state where there's no longer an abundance of free memory for the next use. Even then, the system was not slowed any perceptible amount. Pretty amazing for an m3 chip running 1.1 GHz or so that was build 5 years ago.

MacBook One - I love this Mac so