64 bit ubuntu 12.04.2 cannot see all of installed ram

Asked by Anton Kanishchev on 2013-03-15

All three methods below give me different outputs, which one is the correct one?

System info:

uname -r 3.5.0-25-generic
running radeon open source drivers on amd 4570 gpu.
cpu-t6500, 64 bit
sony nw laptop.

Output of sudo lshw -c memory

       description: System Memory
       physical id: 9
       slot: System board or motherboard
       size: 4GiB
          description: SODIMM DDR2
          physical id: 0
          slot: SODIMM1
          size: 2GiB
          width: 64 bits
          description: SODIMM DDR2
          physical id: 1
          slot: SODIMM2
          size: 2GiB
          width: 64 bits


however system monitor reports only 3.8 GB,

free -m reports :
                    total used free shared buffers cached
Mem: 3921 2097 1823 0 106 964
-/+ buffers/cache: 1026 2895
Swap: 3907 0 3907


Question information

English Edit question
Ubuntu linux Edit question
No assignee Edit question
Solved by:
Last query:
Last reply:

What is the output of :

sudo dmidecode -t 1; uname -a; lsb_release -a


Here is the output

# dmidecode 2.11
SMBIOS 2.4 present.

Handle 0x0001, DMI type 1, 27 bytes
System Information
 Manufacturer: Sony Corporation
 Product Name: VGN-NW11S_T
 Version: C601PLF4
 Serial Number: 28208968-5000694
 UUID: 7B9500C0-6205-11DE-8322-001DBAF31173
 Wake-up Type: Power Switch
 SKU Number: N/A
 Family: N/A

Linux vaio11s 3.5.0-25-generic #39~precise1-Ubuntu SMP Tue Feb 26 00:07:14 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 12.04.2 LTS
Release: 12.04
Codename: precise

Manfred Hampl (m-hampl) said : #3

There are graphics cards that use system memory in addition to their builtin memory. I could imagine that this is also the case in your system.

"sudo lshw -c memory" shows that there are two Dimms with 2 GiB each.

When "free -m" reports a total of 3921 (I suppose the unit is MiB), this would be in line with the amount displayed by system monitor of 3.8 (GiB, perhaps wrongly displayed as GB)

3921 / 1024 = 3.829 (rounded 3.8)

What is the output of :

free -m


output of free -m

free -m
             total used free shared buffers cached
Mem: 3921 1518 2403 0 72 579
-/+ buffers/cache: 866 3055
Swap: 3907 0 3907


I understand that the gpu can also use some of the ram(in fact it can use up to 1780 mb from specs), the reason i am having difficulty understanding this discrepancy is that for a 32 bit install of 12.04.2 (with latest updates, and 3.2 PAE kernel) it used to report the full 4gb both the system monitor and free -m (4096 in total).

You are using RAM for your onboard GPU.

Your system is running as expected.

If the video chip is PCI express you will see some RAM missing as a cache for the slot.

Thanks actionparsnip, that solved my question.

Thanks for clearing that up actionparsnip