I've searched serverfault and found this question: Linux x86_64 reports 3.2G of memory instead of 4G

But my problem is slightly different from that one. I've checked my BIOS. I didn't find the Memory Remap Feature or related option. The computer is Samsung DM-v65 (seems only available in South Korea, made in 2008) I've updated BIOS to the latest version produced by Samsung support. Here is the main page of the BIOS:

BIOS -- CFPL.1100.20070825.OJH

CPU -- Inter(R) Core(TM)2 CPU 6320

Installed memory -- 4096MB

Available to OS -- 3317MB

Used by devices -- 779MB

DRAM Frequency -- 667MHz

Memory Operation -- Dual Channel Interleaved

Is there anything I can do to get all 4GB memory to use? Thanks in advance.

EDIT: I got this page. 4gb ram shows as 3.3gb As quoted in the page,

The board utilizes 4 GB of addressable system memory. Typically the address space that is allocated for PCI Conventional bus add-in cards, PCI Express configuration space, BIOS (firmware hub), and chipset overhead resides above the top of DRAM (total system memory). On a system that has 4 GB of system memory installed, it is not possible to use all of the installed memory due to system address space being allocated for other system critical functions. These functions include the following:

  • BIOS/firmware hub (2 MB)
  • Local APIC (19 MB)
  • Digital Media Interface (40 MB)
  • Front side bus interrupts (17 MB)
  • PCI Express configuration space (256 MB)
  • MCH base address registers, internal graphics ranges, PCI Express ports (up to 512 MB)
  • Memory-mapped I/O that is dynamically allocated for PCI Conventional and PCI Express add-in cards.

this implies that the 'overlapping' memory is NOT relocated to a higher address. This was a rather low end desktop board from circa 2004, intended strictly to support Win2000/XP in 32bit mode. with the P4 500 and 600 series CPUs and onboard Intel shared memory graphics.

So I guess I have to accept the fact of I can't use all 4GB of the memory installed. This question can be closed. Thanks to all.

  • Whats your real question?, You need more free memory, or you dont understand where are the 4GB. – Zhen Mar 8 '13 at 9:13
  • @Zhen I want to get all the 4GB memory. I mentioned it in the last of my question description. I'll edit it. – Joe Jeong Mar 8 '13 at 9:41
  • Do you use a external/discrete grpahics card or onboard graphics? If you use onboard graphics then some memory would be allocated to it and won't be available. You can check it in BIOS if you have onboard grpahics enabled and how much is allocated to it. – Shivaranjan Mar 12 '13 at 10:58
  • @Shivaranjan Thanks. The graphics card is integrated in motherboard. The memory used by devices is less than 20MB or so when I only installed 3 memory sticks of 1GB capacity. And I think it will be same as installing 2 or 1 memory sticks. – jox Mar 12 '13 at 16:16

One quick way you can test that how much use-able RAM your system has, you can check dmesg.

$ less /var/log/dmesg | grep e820
BIOS-e820: 0000000000010000 - 000000000009e000 (usable)
BIOS-e820: 0000000000100000 - 000000007f379000 (usable)
BIOS-e820: 000000007f379000 - 000000007f38f000 (reserved)
BIOS-e820: 000000007f38f000 - 000000007f3ce000 (ACPI data)
BIOS-e820: 000000007f3ce000 - 0000000080000000 (reserved)
BIOS-e820: 00000000e0000000 - 00000000f0000000 (reserved)
BIOS-e820: 00000000fe000000 - 0000000100000000 (reserved)
BIOS-e820: 0000000100000000 - 0000000c80000000 (usable)

The values are shown in hex, what you can do is to add the convert the hex values into decimal and add them up. I am quite sure, you will see 3.3 GiB is use-able.

| 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.