In Activity monitor, what do App Memory, Wired Memory, and Compressed mean? For example,
I am used to the columns in the output of
procps-ng under Linux.
By the way, how can I install
procps-ng under OS X?
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 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.
App memory refers to memory utilised by open/background processes and applications.
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 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
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.