Aside from the rpi-update option, there seems to another (possible) reason why the reported memory is less. This time its to do with the kernel space / user space memory splits. This post details the fix which involves tweaking the kernel build configuration and rebuilding it from the source code. One user reported success
by tesla01 » Thu Feb 05, 2015 8:04 pm Hi, I confirm that the 2G/2G option works when use custom kernel
Feb 5 19:17:12 raspberrypi kernel: [ 0.000000] Memory: 940776K/966656K available (5785K kernel code, 377K rwdata, 1760K rodata, 396K init, 771K bss, 25880K reserved)
Thanks :)
You will need to verifyverify this is indeed the cause (by checking the value of CONFIG_VMSPLIT
is either CONFIG_VMSPLIT=3G
or CONFIG_VMSPLIT=2G
) as some posts further down in that link report success like so
by birdman » Thu Feb 12, 2015 10:01 pm Just this minute had an update to libraspberrypi-* and raspberrypi-bootloader. kernel now 3.18.7-v7+. memory now reported by top as "KiB Mem: 998096"
Thanks!!
while some others didnt have the same results
Unfortunately I am not near my PI to verify any of these claims.