Você tem um total de 156996 KB de memória usada para programas e mais 343684-156996 = 186688 KB usados para buffers & cache. Isso significa que cerca de 22% da memória é usada, não 60%.
Esses buffers são usados para armazenar o conteúdo de seus discos, antes de serem gravados no disco ou depois de serem lidos, caso você queira ler os dados novamente. Você pode ver isso se você fizer um ls
em um diretório grande. A primeira vez que leva uma quantidade significativa de tempo, então a segunda vez é quase instantânea.
O Linux aloca essas memórias de buffer / cache por conta própria. No entanto, se seus programas se expandirem, a quantidade usada para buffer / cache provavelmente diminuirá. Você realmente não quer mudar a quantidade usada, os algoritmos internos do Linux são muito melhores para decidir a quantidade que você será.
Além disso, você não pode simplesmente adicionar os tamanhos dos processos como fez. Mais de um processo pode usar os mesmos blocos de memória, por exemplo, através de memória compartilhada ou fork (2), ou simplesmente sendo o mesmo programa executável.