O que você está procurando é a saída de "free":
$ free
total used free shared buffers cached
Mem: 775556 759456 16100 0 22132 592484
-/+ buffers/cache: 144840 630716
Swap: 500344 21972 478372
Aqui está um tour:
Esta é uma caixa com 768MB de RAM física e uma partição swap de 500344KB.
759456 KB é "usado" (segunda coluna, linha superior). Dessa memória "usada", 23132 KB são buffers (5ª coluna, linha superior) e 592484 KB (sexta coluna, linha superior) são cache, deixando 144840 KB (2ª coluna, 2ª linha) de memória física sendo usada por processos ativos. p>
Quando você considera que a memória usada por buffers e cache pode ser usada para processos, isso deixa 630716KB (3ª coluna, 2a linha) de memória física livre.
A partição swap, como eu disse, é de 500344 KB (1ª coluna, linha de baixo). 21972 KB (2ª coluna, linha de baixo) do arquivo de troca está em uso, deixando 478372 KB (3ª coluna, linha de baixo) livre.
Assim, sua definição de% free memory depende se você está contando buffers e cache ou não, e se você está contando swap ou não.
Isso deve dar a você o suficiente para calcular uma porcentagem como achar melhor.
Aqui está a saída de top e free:
$ top -n1 | grep "used," ; free
Mem: 775556k total, 751472k used, 24084k free, 20776k buffers
Swap: 500344k total, 21972k used, 478372k free, 586648k cached
total used free shared buffers cached
Mem: 775556 751344 24212 0 20776 586648
-/+ buffers/cache: 143920 631636
Swap: 500344 21972 478372
Você pode ver como top e free concordam (embora com um pouco de diferença - esta é uma máquina multiusuário e o uso de memória dos programas principais e gratuitos se reflete nela).
Adicione um "-s" quando você chamar o vmstate, e você verá a mesma saída, apenas de uma forma diferente:
$ vmstat -s ; free
775556 total memory
759920 used memory
674680 active memory
18440 inactive memory
15636 free memory
21892 buffer memory
594372 swap cache
500344 total swap
21972 used swap
478372 free swap
... output truncated ...
total used free shared buffers cached
Mem: 775556 759920 15636 0 21892 594372
-/+ buffers/cache: 143656 631900
Swap: 500344 21972 478372
Você pode ver que o vmstat está exibindo os mesmos números que o livre.