A página de manual de top
diz:
2c. MEMORY Usage
This portion consists of two lines which may express values in kibibytes (KiB) through exbibytes (EiB) depending on the scaling factor enforced with the 'E' interactive command.
Ele também contém definições de kibibytes, que é discutido nesta resposta do Super Usuário .
A página de manual para free
diz que é relatada em kilobytes / megabytes, mas na verdade é reportada em kibibytes, a menos que você adicione o --si
flag.
Então, para responder a sua pergunta, a razão top
relatórios 8191488k e free -m
relatórios 7999m é que 8191488 dividido por 1024 é 7999,5. As unidades escalam em potências de 1024, não potências de 1000.