Saudações,
A linha buffers/cache mostra o uso da memória apenas por aplicativos. Do pondo de vista dos aplicativos eles estão utilizando 65MB e ainda têm disponíveis 938MB.
Esse cálculo ignora a memória swap o que na prática não acontece, pois, o aplicativo não tem controle sobre sua paginação durante a execução, ou seja para o aplicativo, na prática, memória swap e memória real são a mesma coisa, mas isso já é outra história...
A coluna buffers mostra quanto de memória está sendo usada para buffers. Nos buffers são armazenados os caminhos dos arquivos que estão sendo trabalhados atualmente, conteúdos de diretórios, permissões dos arquivos, entre outros.
No seu caso o valor é 5MB.
A coluna cached mostra quanto de memória está reservada. Essa memória reservada é usada para agilizar algumas operações, quando por exemplo um aplicativo em execução solicita mais memória, manter conteúdo ou parte de conteúdo de arquivos que estão sendo trabalhados (gravados ou lidos), ao executar e parar aplicativos, a partir da segunda execução o aplicativo abre mais rápido, isso também tem relação com essa memória cached.
Explicação bem superficial mas meus conhecimentos não são tão aprofundados assim...
Em suma, se vc pegar o valor do buffers + cached + o utilizado pelos aplicativos = total utilizado (real)
No seu caso: 5 + 38 + 65 = (aproximadamente) 109, se vc fizer esse cálculo sem utilizar a opção -m no free, o cálculo vai dar exato.
abraços