A linha "Mem" de free
não mostra o uso da memória virtual, ela mostra o uso da memória física.
As colunas "RES" (para residentes) e "% MEM" de top
mostram o mesmo: a memória física sendo usada por cada processo.
free
faz mostrar o espaço de troca disponível e usado, e top
tem sua coluna "VIRT", sendo que ambos podem ser importantes. Grosso modo, o espaço de troca e a memória física fornecem o espaço total de memória virtual possível. Alcance esse limite e você começará a ter processos mortos ou incapazes de alocar memória e as coisas ficarão ruins.