6

In Activity monitor, what do App Memory, Wired Memory, and Compressed mean? For example,

enter image description here

I am used to the columns in the output of free from procps-ng under Linux. By the way, how can I install procps-ng under OS X?

Thanks.

  • 3
    I would recommend asking how to install procps-ng as a separate question. – JMY1000 Jun 12 '16 at 22:57
7

This wonderful Apple Support article says it all: https://support.apple.com/en-us/HT201464#memory

I'll give the short version here:

There are three different types of memory, as you have noticed - wired, app, and compressed. Each of these types do something slightly different.

Wired memory
Wired memory refers to memory that cannot be taken out from RAM. The contents of wired memory cannot be paged to your disk (swap), and are used by programs. This memory can't be used anywhere else, and stays in memory until whatever is using it is terminated. Usually, this memory is used by OS X's core functions and belongs to the kernel. In a way, you might consider it meta-memory, the memory that oversees other memory.

this other question on wired memory and its answer expands more on wired memory and its use.

App memory
App memory refers to memory utilised by open/background processes and applications.

Compressed memory
Compressed memory refers to memory (that isn't being used), which OS X automatically compresses to free up RAM for other processes to use.


This may be unrelated to your question, but I thought I'd expand on it:

Swap memory
Swap memory is RAM contents that have been paged out to disk to free up RAM within memory modules. The entire concept of swap memory is sort of "expanding" RAM by taking parts of your hard disk and writing RAM contents into it.

Additional resource: Apple Developer Library: Virtual Memory

  • The Additional resource listed above is quite definitive. A large part of Wired Memory (also called Resident memory) will typically be used by buffer caches. – karmakaze Dec 19 '16 at 1:29
3

Regarding procps-ng - it doesn't make sense to install it on OS X.

The utilities in procps-ng are specifically made to parse, interpret and display information from the /proc file system on Linux system. The /proc virtual file system on Linux exposes various information from the kernel itself (and kernel extensions).

OS X does not run on the Linux kernel. The OS X kernel (Darwin) does not utilise a /proc virtual file system to expose kernel information.

Therefore it really does not makes sense to run procps-ng on OS X.

Note that many/most of procps-ng has counterparts on OS X. They come from a different "family" so they might look and act slightly different, but they serve the same purpose. For example you'll find commands such as kill, ps, top, uptime, w, uptime, sysctl, etc. on OS X in a factory default install.

  • thanks. is Darwin an os different from OS X? Is it correct that OS X is implemented based on Darwin, but they are different operating systems? – Tim Jun 13 '16 at 11:28
  • No, that's not really the case. Darwin is the kernel (i.e. roughly what runs in kernel mode on the CPU). OS X is a combination of the kernel and a lot of user space programs. This is quite similar to Linux where "Linux" is actually the name of the kernel, and the combination of userspace and kernel is commonly called a distribution - such as for example Ubuntu or Debian. Importants parts of the Linux user space comes from the GNU project for example. – jksoegaard Jun 13 '16 at 11:34
  • As far as kernel is concerned, isn't OS X non-open-source? Darwin is open source. – Tim Jun 13 '16 at 11:45
  • Darwin is the OS X kernel. And yes, Darwin is open source. So in that sense the OS X kernel is open source. You can always discuss to which degree that Apple really lives by open source principles, but they are providing the Darwin source codes. – jksoegaard Jun 13 '16 at 11:47
  • In what sense is OS X not open source? – Tim Jun 13 '16 at 11:56

You must log in to answer this question.

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