Você só precisa entender o Conceito de Memória
Como por sua saída de / proc / meminfo, você apenas precisa observar abaixo as coisas:
Buffers : - Um buffer é algo que ainda precisa ser "gravado" no disco. Representa quanto de RAM é dedicado ao bloco de disco do cache. "Em cache" é semelhante a "Buffers", só que desta vez armazena em cache páginas de leitura de arquivos
Em cache : - Um cache é algo que foi "lido" do disco e armazenado para uso posterior. Geralmente, você pode considerar a área de cache como outra RAM "livre", já que ela será reduzida gradualmente se o aplicativo exigir mais memória.
É suficiente entender que tanto "buffers" quanto "Cached" representam o tamanho do cache do sistema. Eles crescem ou diminuem dinamicamente conforme solicitado pelo mecanismo interno do kernel do Linux.
no Webhosting eles fazem o cache clear usando abaixo cmd: (principalmente configurado no cron):
sync && echo 3 > /proc/sys/vm/drop_caches
Citar Link
EDIT para mais um requisito, por exemplo, por uso de memória do usuário
#!/bin/bash
total_mem=0
printf "%-10s%-10s\n" User MemUsage
while read u m
do
[[ $old_user != $u ]] && { printf "%-10s%-0.1f\n" $old_user $total_mem; total_mem=0; }
total_mem=$(echo $m + $total_mem | bc);
old_user=$u
done < <(ps --no-headers -eo user,%mem| sort -k1)
#--EOF
Por favor, verifique com script acima e deixe-me saber, se ele mostra corretamente ou não.