Buffers and Cached memory in free command.
Yes, this is total ram.
This is probably the most confused column. This is a mix of application used memory and other 'temporarily' (buffer + cache) used memory that is actually available if needed. So technically the memory is truly being used, but much of this memory is available if an application needs it. The 'temporarily' used memory is borrowed if available by the linux system to help speed up system performance, otherwise the system would have read from disk more often. Much of this type of memory is shown under the 'cached' column. This memory is given up by the linux system if an application need memory.
Yes, this pure free and untouched memory.
Memory specifically allocated for use by multiple processes
Temporary memory that is set aside to help some processes
Memory that is available and 'borrowed' by the operating system to help speed up many linux OS operations. This memory is given up by the system if an application need it.
The difference between the first and the second rows is that the first is row is does not count caches and buffers under the column, while the second one does. Here is an example:
The first line means:
· : Your total (physical) RAM (excluding a small bit that the kernel permanently reserves for itself at startup); that's why it shows ca. 11.7 GiB , and not 12 GiB, which you probably have.
· : memory in use by the OS.
· : memory not in use.
· / / : This shows memory usage for specific purposes, these values are included in the value for .
The second line gives first line values adjusted. It gives the original value for the sum and the original value for the sum , hence its title. These new values are often more meaningful than those of first line.
The last line () gives information about swap space usage (i.e. memory contents that have been temporarily moved to disk).
To actually understand what the numbers mean, you need a bit of background about the virtual memory (VM) subsystem in Linux. Just a short version: Linux (like most modern OS) will always try to use free RAM for caching stuff, so will almost always be very low. Therefore the line is shown, because it shows how much memory is free when ignoring caches; caches will be freed automatically if memory gets scarce, so they do not really matter.
A Linux system is really low on memory if the value in line gets low.
What is the difference between something that is buffered vs. cached?
A buffer is something that has yet to be "written" to disk. A cache is something that has been "read" from the disk and stored for later use.