83

The different columns in Activity Monitor are a little confusing

1
  • It might be worth noting that there's a 5th type of memory if you click "Inspect" on a process compared with the columns in Activity monitor. Specifically, there's two types of "Virtual" memory: "Virtual Memory Size" and "Virtual Private Memory". The latter is what is shown in the "Virtual Mem" column in Activity Monitor. Nov 10, 2010 at 6:53

3 Answers 3

66

Taken from my answer at Server Fault:

Mac OS X Memory Jargon:

Wired : This refers to kernel code and such. Memory that should not ever be moved out of the RAM. Also know as resident memory.

Shared : Memory that is shared between two or more processes. Both processes would show this amount of memory so it can be a bit misleading as to how much memory is actually in use.

Real : This is the "real" memory usage for an application as reported by task_info() - a rough count of the number of physical pages that the current process has. (RSIZE)

Private : This is memory that a process is using solely on its own that is used in Resident memory. (RPRVT)

Virtual : The total amount of address space in the process that's mapped to anything - whether that's an arbitrarily large space for variables or anything - it does not equate to actual VM use. (VSIZE)

Active : Memory currently labelled as active and is used RAM.

Inactive : "Inactive memory is no longer being used and has been cached to disk. It will remain in RAM until another application needs the space. Leaving this information in RAM is to your advantage if you (or a client of your computer) come back to it later." - Mac OS X Help

Free : The amount of RAM actually available without any data.


The best documentation I know of (and have been able to find in followup research) is Apple's own Managing Memory article on their developer website.

Other worthwhile sources: Darwin-dev mailing list: [1], [2] and an old article on MacOSXHints. Additionally Mike Ash has posted a good layman's introduction on his blog

5
  • 6
    From reading Apple's Managing Memory doc, Inactive hasn't necessarily been cached to disk. You can demonstrate this if you check your Inactive memory usage (mine is 747.5 MB right now) and your "Swap used" (mine is 0 bytes right now). Inactive just refers to memory pages that haven't been recently read/written by any process. Nov 10, 2010 at 6:56
  • 1
    It might be worth clarifying "Virtual" since there are two references to "Virtual" memory in Activity Monitor. The "Virtual Mem" column refers to "Virtual Private Memory" in the Inspect Process window, and then there's another simply titled "Virtual Memory Size" entry in that window (which I believe to be the shared component of the Virtual memory). This is on 10.6.4 (in case Activity Monitor has changed terminology...) Nov 10, 2010 at 6:59
  • Is "private memory" part of "real memory"? Dec 18, 2017 at 2:25
  • 2
    Activity Monitor has a column just labeled "Memory". Which of these does this correspond to?
    – Jo Liss
    Aug 6, 2021 at 12:50
  • 3
    It's none of these, but rather a more complicated and nuanced metric called the process's "memory footprint". See the man page for footprint(1) for more details as to how this is calculated.
    – saagarjha
    Nov 26, 2021 at 1:15
8

Real mem relates to physical memory (actual RAM modules in your computer). Virtual Mem is how much "fake" memory is allocated to the process, meaning memory that is allocated on the permanent storage medium (hard drive, solid state drive, etc) for that process. Shared memory is physical (Real) memory that can be shared with other processes. Private memory is "real" memory that can only be used by the process it is allocated to.

These explanations may help as well... directly from activity monitor --> help --> viewing system memory usage:

Here is an explanation of some of the information displayed at the bottom of the memory pane:

  • Wired: Wired memory contains information that must always stay in RAM
  • Active: Active memory that contains information that is actively being used.
  • Inactive: Inactive memory contains information that is not actively being used. Leaving this information in RAM is to your advantage if you (or a client of your computer) come back to it later.
  • Used: Used memory is being used by a process or by the system. Used memory is the sum of wired, active, and inactive memory. If the system requires memory it takes free memory before used memory.
  • Free: Free memory is not being used and is immediately available.
  • VM size: Virtual memory, or VM, is hard disk space that can be used as memory. VM size is the amount of disk space being used as memory. Mac OS X can use more memory than the amount of physical RAM you have. A hard disk is much slower than RAM, so the virtual memory system automatically distributes information between disk space and RAM for efficient performance. Page ins/outs: The number of gigabytes of information Mac OS X has moved between RAM and disk space
10
  • 9
    This is not correct. Virtual Memory is not memory that is allocated on disk (that is called swap). Virtual memory is that has address space allocated but is not in physical memory. That might seem like the same thing, but it subtlety different. In many cases programs allocate memory without ever touch it. In those cases the programs are using a lot of virtual memory. To give a concrete example, my system currently is using 512MB of swap, but has 196GB of virtual memory allocated (which is a pretty typical amount for people running Snow Leopard on K64). Aug 17, 2010 at 22:49
  • 2
    @Louis, if the virtual memory has been allocated but does not make use of RAM or the hard disk, then where is it? Aug 17, 2010 at 23:13
  • 4
    @Michael: nowhere. It's theoretical. Just because it's been allocated and assigned an address doesn't necessarily mean that it's actually being used. The low level bits of the OS know when to map those addresses to physical locations in RAM or swap storage, but there's no need to tie up that space if the application is not actually storing information at those addresses. Not only that, but you'll notice that column for each process, Virtual Mem, doesn't come anywhere close to adding up to the VM Size. The processes aren't actually using all that memory. Aug 18, 2010 at 0:26
  • 2
    There is plenty of VM that is not actually swappable. For instance, if you mmap a 4GB file it takes 4GB of VM, on read it will page in directly from the file, and under pressure it will be thrown out (not swapped) since the original file can simply be reread. VM and swapping are really completely different things, VM is simply used to figure out what to swap in. Aug 18, 2010 at 3:30
  • 3
    By VSIZE I am referring to what to something that is not listed in activity monitor, you can see it listed in top if you want. What Activity Monitor lists in the virtual memory column is what is generally referred to as VPRVT, which is is the amount of virtual address used by the app that is not shared with any other apps. Aug 19, 2010 at 5:20
7

Apple updated the Activity Monitor in OSX 10.9 (Mavericks). They have a good article about what everything means here http://support.apple.com/kb/HT5890. In summary...

enter image description here

  • Physical Memory: The amount of RAM installed.
  • Memory Used: The amount of RAM being used and not immediately available for other apps.
  • Virtual Memory: The amount of memory mapping that apps have asked for. This is not an actual consumption of RAM resources and it size is determined by the author of the app.
  • Swap Used: The space on your drive being used to swap unused files to and from RAM. It is normal to see some activity and it is not a indication that you have depleted RAM resources. Seeing memory pressure in the Red state will indicate that RAM resources are depleted.
  • App Memory: The amount of space being used by apps.
  • Wired Memory: Memory that can’t be cached to disk, so it must stay in RAM. This memory can’t be borrowed by other apps.
  • Compressed: The amount of memory in RAM that is compressed, making more RAM resources available for other apps.
  • File Cache: The space in RAM marked as available for apps to use that contains recently used files.

Memory Pressure graph

The combination of Free, Wired, Active, Inactive & Used memory statistics in previous versions of Activity Monitor have been replaced in Mavericks with an easy to read "Memory Pressure" graph.

Memory pressure is indicated by color:

  • Green – RAM memory resources are available.
  • Amber – RAM memory resources are being tasked.
  • Red – RAM memory resources are depleted and OS X is using the drive for memory.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .