Multiple 64-bit versions (Kubuntu, Lubuntu and Xubuntu) once installed on my ThinkPad R60 show 3GB of RAM, not the correct 4GB of RAM. Last week with 13.04, I had 4GB of RAM (which matches the BIOS) and this week I have 3GB available. Inquiring minds want to know. Details follow:
Linux R60 3.11.0-12-generic #19-Ubuntu SMP Wed Oct 9 16:20:46 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux r60
free -m
reports:
_ total used free shared buffers cached
Mem: 3001 854 2146 0 22 486
-/+ buffers/cache: 346 2655
Swap: 0 0 0
. . . . . .
lshw
shows:
description: Notebook
product: 9459AT8 ()
vendor: LENOVO
version: ThinkPad R60/R60i
serial: redacted
width: 64 bits
capabilities: smbios-2.4 dmi-2.4 vsyscall32
configuration: administrator_password=disabled boot=normal chassis=notebook family=ThinkPad R60/R60i frontpanel_password=unknown keyboard_password=disabled power-on_password=disabled uuid=126E4001-48CA-11CB-9D53-B982AE0D1ABB
*-core
description: Motherboard
product: 9459AT8
vendor: LENOVO
physical id: 0
version: Not Available
*-firmware
description: BIOS
vendor: LENOVO
physical id: 0
version: 7CETC1WW (2.11 )
date: 01/09/2007
size: 144KiB
capacity: 1984KiB
capabilities: pci pcmcia pnp upgrade shadowing escd cdboot bootselect socketedrom edd acpi usb biosbootspecification
{snip}
*-memory
description: System Memory
physical id: 29
slot: System board or motherboard
size: 4GiB
*-bank:0
description: SODIMM DDR2 Synchronous
physical id: 0
slot: DIMM 1
size: 2GiB
width: 64 bits
*-bank:1
description: SODIMM DDR2 Synchronous
physical id: 1
slot: DIMM 2
size: 2GiB
width: 64 bits
dpkg -l linux-*
returns:
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Description
+++-======================================-=======================================-==========================================================================
un linux-doc-3.2.0 <none> (no description available)
ii linux-firmware 1.79.6 Firmware for Linux kernel drivers
ii linux-generic 3.2.0.52.62 Complete Generic Linux kernel
un linux-headers <none> (no description available)
un linux-headers-3 <none> (no description available)
un linux-headers-3.0 <none> (no description available)
un linux-headers-3.2.0-23 <none> (no description available)
un linux-headers-3.2.0-23-generic <none> (no description available)
ii linux-headers-3.2.0-52 3.2.0-52.78 Header files related to Linux kernel version 3.2.0
ii linux-headers-3.2.0-52-generic 3.2.0-52.78 Linux kernel headers for version 3.2.0 on 64 bit x86 SMP
ii linux-headers-generic 3.2.0.52.62 Generic Linux kernel headers
un linux-image <none> (no description available)
un linux-image-3.0 <none> (no description available)
ii linux-image-3.2.0-52-generic 3.2.0-52.78 Linux kernel image for version 3.2.0 on 64 bit x86 SMP
ii linux-image-generic 3.2.0.52.62 Generic Linux kernel image
un linux-initramfs-tool <none> (no description available)
un linux-kernel-headers <none> (no description available)
un linux-kernel-log-daemon <none> (no description available)
ii linux-libc-dev 3.2.0-52.78 Linux Kernel Headers for development
un linux-restricted-common <none> (no description available)
ii linux-sound-base 1.0.25+dfsg-0ubuntu1.1 base package for ALSA and OSS sound systems
un linux-source-3.2.0 <none> (no description available)
un linux-tools <none> (no description available)
You're measuring apples and oranges.
Your kernel still sees 4 gigs of RAM.
free
only returns map-able RAM. You have 1 Gig of RAM that can not be accessed. This can happen because of several things, but I would guess that the update updated video drivers and that your card is "using" part of that RAM.You may want to check that your RAM is not "marked bad" with something like BadRam.
Finally you may want to look (though I don't think this is it) to make sure the kernel isn't mapping RAM in an odd way.
cat /var/log/dmesg | grep -a 40 "BIOS-provided physical RAM map:"
should get you started down this path. Though you may try just loading the older kernel if you did an update and see.
Basically you need to figure out where the missing memory is. It's there, your system sees it, it's just mapped to something different then your used to.
http://forums.lenovo.com/t5/R-and-L-Series-ThinkPad-Laptops/Lenovo-R60-memory/m-p/127896/highlight/true#M9099 reveals a BIOS limitation in the R60 which prevents more than 3GB available. I must have mixed the result from another ThinkPad (an SL400) which does get 4GB usable.