The Memory
column is overall memory consumption, excluding compression, etc. going on. The Compressed Mem
column is how much memory is being saved by the operating system's memory compression algorithm. The Real Mem
column essentially shows Memory
- Compressed Mem
to give you an idea of how much actual memory is being consumed by the process. Private Mem
shows you how much memory is being consumed by this particular process that is not being shared by any other processes and of course then Shared Mem
would be what's being shared with other processes.
As far as actually tracking the memory consumption itself, I would have to dig a bit more into the developer documentation as I don't know off the top of my head how Xnu/Darwin tracks memory consumption on a per process basis to actually report such figures.
Please let me know if you're looking for any additional details or clarification as your previous question is slightly vague with regards to whether you're seeking specific acquisition details or just what the columns mean...