Veja a free
manpage para algumas respostas; em particular:
used Used memory (calculated as total - free - buffers - cache)
Também vale a pena ler a proc
manpage (veja o /proc/meminfo
description).
Responda às suas perguntas:
Does "used" already include "shared"?
Sim.
Can "available" be determined from other columns?
Não; consulte Significado do campo "disponível" no comando "free -m" e Como posso obter a quantidade de memória disponível de forma portável entre as distribuições? para os detalhes (sangrentos).
Why does "available" not equal to sum of "free" and "buff/cache"?
Veja acima. Indica a quantidade de memória que pode ser usada sem trocar; "Buff / cache" inclui memória que não pode ser recuperada imediatamente e, portanto, não está disponível.
I thought that "buff/cache" is actually available to be used by starting a new process, so why is "available" smaller than "buff/cache"?
Veja acima.
What columns does "total - used" (2.4G) consist of? Why isn't it the same as "available"?
Veja acima.