Aqui está um exemplo de saída grátis:
% free
total used free shared buffers cached
Mem: 24683904 20746840 3937064 254920 1072508 13894892
-/+ buffers/cache: 5779440 18904464
Swap: 4194236 136 4194100
A primeira linha de números ( Mem:
) lista
-
total
memory -
used
memory -
free
memory - uso de
shared
- uso de
buffers
- caches de sistema de arquivos de uso (
cached
)
Nesta linha, used
inclui os buffers e cache e isso impacta gratuitamente.
Esta não é a sua "verdadeira" memória livre, porque o sistema irá despejar o cache, se necessário, para satisfazer os pedidos de alocação.
A próxima linha ( -/+ buffers/cache:
) nos fornece a memória real usada e livre como se não houvesse buffers ou cache.
A linha final ( Swap
) fornece o uso da memória swap. Não há buffer ou cache para swap, pois não faria sentido colocar essas coisas em um disco físico.
Para enviar a memória usada (menos buffers e cache) você pode usar um comando como:
% free | awk 'FNR == 3 {print $3/($3+$4)*100}'
23.8521
Isso pega a terceira linha e divide usado / total * 100.
E para memória livre:
% free | awk 'FNR == 3 {print $4/($3+$4)*100}'
76.0657