de acordo com man top
Memory Data Reports virtual and real memory used by user processes (with the amount of memory considered "active" in parentheses) and the amount of free memory.
- Virtual é a memória que você aloca, real é a memória que você usa.
(por exemplo, eu aloco 10 000 int, mas uso os 13 primeiros e de 1001 a 1024, meu virtual seria 10000, e meu real 37 (13 + 24 ).