I have the following snippet shown as my top command output. One real quick question here being, the values of Mem are shown in what granularity? Are they the number of bytes?

Mem:   8191488k total,  4277448k used,  3914040k free,   292356k buffers
Swap:        0k total,        0k used,        0k free,  3382180k cached

Asking this question because, free -m command gives the output as

            total       used       free     shared    buffers     cached
Mem:          7999       4177       3822          0        285       3302
-/+ buffers/cache:        588       7410
Swap:            0          0          0

2 Answers 2


The manual page of top says:

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.

It also contains definitions of kibibytes, which is discussed in this Super User answer.

The manual page for free says that it reports in kilobytes/megabytes, but it actually reports in kibibytes unless you add the --si flag.

So to answer what I think is your question, the reason top reports 8191488k and free -m reports 7999m is that 8191488 divided by 1024 is 7999.5. The units scale in powers of 1024, not powers of 1000.


See the k after each number? Kilobytes. (That's also the default for free, if you don't give -m.)

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .