On Mon, Sep 28, 2009 at 02:10, Alex Hieronymi <firstname.lastname@example.org>
Aioanei Rares wrote:
Please post the output of your dmesg.
last week, when booting a virtual machine, I discovered that my laptop only recognizes one of the RAM modules (supposed to be 1 GB, but truly providing 880 MB). I realized this when VirtualBox complained that I had configured more than the available RAM to the virtual machine. I had not changed the virtual machine configuration, and the virtual machine had about 950 MB assigned (and my physical host, only had 880 MB).
Since I previously had 2 GB of RAM, I assumed one of the chips was broken somehow. I replaced one of them, and I still got this output for the "free" command:
total used free shared buffers cached
Mem: 902264 892608 9656 0 23624 621432
So I put the original module back on, and changed the other one. I entered the BIOS, and it detected 2048 MB of RAM. I run a test on the memory (from the BIOS), and everything seemed allright. But my Debian keeps seeing only 902264 of RAM.
I downloaded a new Kernel, re-compiled, but everything is still the same. I am running Debian Sid, if that could matter, but I can't see how that would affect the amount of RAM available.
Running lshw, I get the following ouput:
description: System Memory
physical id: a
slot: System board or motherboard
description: SODIMM DDR2 Synchronous 533 MHz (1.9 ns)
physical id: 0
slot: DIMM #1
width: 64 bits
clock: 533MHz (1.9ns)
description: SODIMM DDR2 Synchronous 667 MHz (1.5 ns)
physical id: 1
slot: DIMM #2
width: 64 bits
clock: 667MHz (1.5ns)
Could the difference between the clocks available on the RAM chips only allow for one of them to be used?
Thank you in advance,
GPG Fingerprint: 678F 7BD0 83C3 28CE 9E8F
3F7F 4D87 9996 E0C6 9372
Keyservers: pgp.mit.edu | pgp.rediris.es
I have solved the problem. When prompted for dmesg output, I saw that "NOHIGHMEM" was present. I re-checked the Kernel configuration and documentation and, indeed, I had NOHIGHMEM set. I know I previously had this option set to "4GB", because I previously did see my 2 GB of RAM. At some point, which I can't recall, I must have used a fresh .config or changed that option without noticing. Probably even if I saw "NOHIGHMEM", I wasn't worried at all, since I thought that the "4GB" option was only needed if you had more than 4GB, and the "64GB" option only if the system had more than that RAM. But, reading the docs, I saw that, NOHIGHMEM is for systems with less thatn 1 GB of RAM, and for systems between 1 and 3 GB, the "4GB" option must be used. I changed that, I recompiled, and everything works great.
Thank you very much for your help and prompt responses.
Is your on-board graphics card utilizing some of your system memory as "shared" video memory?
No, my on-board graphics card does not have that feature. As I said before, somehow I had changed my Kernelconfig, and was using the "nohighmem" option, instead of the correct "4GB" option, as I have between 1 and 3 GB of RAM.