I'm running Debian Wheezy on a Model B+ which has 512MB of RAM. I've set start_x=0 and gpu_mem=16 in /boot/config.txt and the command vcgencmd get_mem arm && vcgencmd get_mem gpu is showing an expected:


What isn't expected is that free -h only lists 480M of RAM for the arm:

               total       used       free     shared    buffers     cached
Mem:          480M       411M        69M       4.4M        88M       261M
-/+ buffers/cache:        60M       419M
Swap:           0B         0B         0B

So I'm listed as having 480M total instead of 496M like vcgencmd shows. Why might this be? I thought this might because free presents it as mebibytes instead of megabytes but provided the conversion option free -h --si gives:

             total       used       free     shared    buffers     cached
Mem:          491M       390M       101M        29M       116M       234M
-/+ buffers/cache:        39M       451M 
Swap:           0B         0B         0B

Still 5MB short. What may the discrepancy be?


free doesn't list RAM reserved for the Linux kernel code, which is between 2 and 10 MB, depending on configuration, so the missing 5 MB seem right.

|improve this answer|||||

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.