I have a Windows XP machine with 4 GB of memory. As expected (and discussed in a dozen or so other questions on this site) the OS could only see 3 and a bit... until yesterday. As of yesterday, the "System Properties" window shows only 768 MB RAM.

dxdiag shows the same thing... actually, it reports 766 MB. On the other hand, the BIOS still shows 4096 MB, and msinfo32 reports "Total Physical Memory: 4,096 MB."

I've never seen anything like this before. Where could the other 3.25 GB of my memory possibly have gone? Is some faulty driver mistakenly mapping most of my memory to some piece of hardware?

UPDATE: Quick summary of the situation so far: The BIOS shows 4 GB. MemTest86+ shows 4 GB, and all of its tests pass. The msinfo32 utility shows that 4 GB are installed in the computer. However, both Windows XP "System Information" and SliTaz Linux report only 768 MB of memory. MemTest86+ seems to conclusively rule out a hardware problem, but two operating systems seeing the same thing rules out a software problem! So, where do I look next?

UPDATE 2: I tried resetting the CMOS back to factory defaults: no luck. I tried taking out one of the sticks (I have 2x2 GB) and booting: the computer only saw 768 MB. So I took that stick out and put the other stick in: 768 MB. I took them both out and put them in the second set of slots: 768 MB. Finally, in the name of trying everything, I installed the two modules in the "wrong" arrangement, i.e. not in a matched pair: Still 768 MB. No matter what arrangement of memory I have, the computer only sees the first 768 MB.

  • Delayed y2k bug? :P – RJFalconer Jan 1 '10 at 1:14
  • 1
    let's drink to that :) – Molly7244 Jan 1 '10 at 2:03
  • cheers, molly! hoppy new beer! – quack quixote Jan 1 '10 at 3:52
  • similar? superuser.com/questions/54056/… – Malabarba Jan 1 '10 at 7:37
  • @D Connors: similar, but different. your link is a fairly standard problem, this is exceptional. something else is going on. – quack quixote Jan 1 '10 at 12:44

11 Answers 11


Open the Device Manager and under the View menu, choose "Resources by connection". Expand the Memory node and see if you can figure out what, if anything, is occupying the memory. If you're only seeing 768MB, there's probably an entry starting at 3000 0000 named "PCI bus". Expand that node, and see if there's anything actually at 3000 0000. (RAM is "System board".) You can then try disabling that hardware, perhaps installing an alternate (video, network, drive controller, etc.)

| improve this answer | |
  • 3
    Aha! Here's the entry that seems to reflect the problem: [2FF00000 - FEBFFFFF] PCI bus. When I expand that, the first item is the FireWire controller with two entries, but both are very small ranges: 30000000-30003FFF and 30004000-300047FF. (The next item is "Motherboard resources": C0008000-C4007FFF) In fact, all of the listed regions are quite small; the "PCI bus" address range appears to be mostly empty space not mapped to anything. I'll try disabling stuff. – Josh Jan 5 '10 at 1:09
  • 4
    Thank you Ken! I disabled the firewire controller in BIOS and my memory is back! I have to wonder... what part of the system would have to fail to cause so much memory to disappear for that device? I would guess it was a faulty driver, except that it happens under linux, too. Could it be a hardware glitch? A BIOS bug? Could you point me towards a resource explaining how this works? – Josh Jan 5 '10 at 1:19
  • 2
    Right, not the driver(s), but rather when the PCI bus is interrogating the devices, the FireWire reported a "bogus" address which then caused the PCI bus to "wig out" and reserve way too much memory. (Sorry for the technical lingo, I'm really not a hardware guy. I don't know those details.) Or maybe it just plain wigged out, and PCI improperly mapped the FireWire too low. I'm curious if the FireWire still works now; and if it used to work before, what changed in the hardware. It might be a genuine minor failure somewhere? – Ken Jan 5 '10 at 2:01
  • It definitely used to work; I haven't plugged anything into it in a few weeks. I have yet to turn it back on and try it, and I'm not sure I will, since this is the second board of its type I've had with firewire problems... the first one put out quite a bit of smoke and didn't work so well after that :) I'll just buy a cheap PCI board to connect my external drives. One more question: Now I know where to look for this in Windows... where could I have found this same memory mapping information in Linux? – Josh Jan 5 '10 at 3:17
  • 1
    I'm not aware of an equivalent. You might be able to parse out the output from dmesg or spelunking through /proc. – Ken Jan 5 '10 at 20:06

StartRun → type msconfig and click OK.

Open the BOOT.INI tab, click Advanced Options..., and see if /MAXMEM= is checked.

Other than that, shut down the computer and reseat the memory modules. Or remove the modules and try various combinations. Also run a check with Memtest86+.

768 MB could be just 1 GB working OK, minus 256 MB shared video memory.

| improve this answer | |
  • 1
    it is probably shared video memory, specially if you lack a dedicated video card. Is your XP set to autoupdate? If it is, it might have installed a new driver automatically which could cause this effect. – Malabarba Jan 1 '10 at 7:47
  • I checked MAXMEM, it's not set. I tried reseating the modules; no dice. (Remember, the BIOS saw them.) I DO have a dedicated video card, with 512 MB ram... even if I didn't, it wouldn't explain 3.25 GB of missing memory. The computer has 2x2GB modules, so it seems unlikely that only 1GB would be working. I haven't tried memtest86+ yet... will do that next. – Josh Jan 1 '10 at 9:38
  • 1
    memtest86+ saw all 4GB and it all tested just fine, which seems to be a strong indicator that this is a software, not a hardware, issue. – Josh Jan 1 '10 at 20:50
  • my next step would be to image the drive (Ghost, EASEUS Drive backup, DIXML, etc.) and then install XP from scratch to see if the problem persists. – Molly7244 Jan 1 '10 at 21:19
  • Instead of reinstalling XP, I booted into Linux, specifically a SliTaz LiveCD. Linux only saw 768 MB too! Now we're getting somewhere... what could cause the BIOS and MemTest86+ and windows msinfo32 utility to see 4 GB, and MemTest86+ says all 4 GB works fine, but Windows and Linux both see only 768 MB usable? – Josh Jan 2 '10 at 16:29

Some ideas of what to try:

  1. Clear the CMOS
  2. Unplug the power and remove the RAM for 30 minutes, reseat it well.
  3. If you have access to another identical computer, try exchanging RAM.
  4. Take the computer to a repairman that will have the tools and spare parts required to run all the needed experiments.
| improve this answer | |
  • I tried clearing the CMOS; no luck. I tried reseating it in all sorts of different configurations; no luck. The whole reason I'm here is so as to AVOID taking it to a repairman :) – Josh Jan 2 '10 at 21:32

I just had this problem on my ASUS 1201n after a BIOS and GPU driver update.

System shows "2 GB RAM (768 MB available)". I went into the BIOS and switched off the Boot Booster option, and the RAM was set properly then.

| improve this answer | |

In the BIOS, do you have an OS Install Mode option? Most Dells have this and it artificially limits the amount of RAM an OS sees to make it play nice with older OSes. IF it is on, make sure it is set to off.

| improve this answer | |
  • I don't see any such option on my Gigabyte motherboard's BIOS. I reset the CMOS to defaults, just to be sure. – Josh Jan 2 '10 at 21:23

I came across this post yesterday when I got a similar memory issue with a Windows 7 laptop sporting 3 GB RAM, but only reporting 766 MB available.

Having read through various posts I decided to physically change the available RAM by simply removing one of the SODIMMS. So my 3 GB laptop was temporarily 1 GB (removing the 2 GB module). I suspect as mentioned before, re-seating or swapping over good RAM would not make a difference.

And voila! 1 GB RAM was suddenly seen. I then removed the 1 GB module replacing the 2 GB module - and 2 GB was seen and usable. Then replaced the 1 GB and the 2 GB and all 3 GB was available, not the 766 MB or whatever it was.

I also adjusted the video RAM in the BIOS and although this had the effect of incrementally changing the available RAM, it did not fix the problem for me.

The original issue appears to have been caused by (of all things) the Windows validation/activation. Following a dead hard disk and no recovery software, I used a retail version of Windows 7 64-bit to re-install (knowing the EULA was incorrect). I then re-activated Windows with the correct EULA (from the base of the laptop). Although Windows was happy and re-activated OK, it was following this (and apparently it is fairly common) that available memory issues arose.

It appears Windows reserves too much memory (incorrectly) for other hardware use. I also uninstalled some hardware devices along the way, but this made no difference either.

| improve this answer | |

You could test the system using a BartPE build of Windows. The easiest software to acquire for this is Hirens10.1

I would recommend Hiren's as it is quick to load and deal with. During the boot just select mini windows; it should be the third option down. Once you are in mini windows you should be able to check to see if it is a fault of your current Windows installation or if it a memory or motherboard fault.

In my opinion no technician is complete without these tools, so you might as well get a copy.

| improve this answer | |


I had the same problem with an Acer Aspire laptop running Windows 7 showed 3 GB in Windows, but only 768 MB usable, but I thought of the previous answers and thought "why would this start playing up overnight after months of trouble free use with no driver updates?" So I removed the 1 gigabyte stick leaving the 2 gigabyte stick in and there was no POST.

I replaced the 2 gigabyte with the one stick I had removed and post fine. DA DA, faulty 2 gigabyte stick! I replaced the 2 gigabyte stick, and I now have 2.75 usable out of 3 gigabyte.

| improve this answer | |

I had this problem on a Asus EeePC 1201N, with Windows 8.

On each boot, the BIOS was reset and asked to load default values (F2). Installing the latest Nvidia's drivers for the graphic card solved my problem: the Windows' one wasn't working as it should.

To get the latest Nvidia's drivers: http://www.nvidia.fr/Download/index.aspx?lang=fr

| improve this answer | |

FIX FOR ME (Windows 10):

  • Open msconfigBoot tab → Advanced options
  • Check maximum memory box and type your maximum amount of available RAM
  • Click OK, OK
  • Reboot and pray

After that, Windows told that 3.25 GB (out of 4) could be used, instead of 767 MB.

Note that if you reopen msconfig, the maximum memory checkbox might be unchecked + maximum memory field set back to 0. However, that should not change anything to available memory any more.

This was Inspired by this other answer.

| improve this answer | |

In my case Windows was showing only 2GB whilst I have 4GB installed (I actually have 8GB, but know a 32-bit system cannot see beyond 4GB). I have a Gigabyte motherboard with AMD-radeon R5 on-board graphics card.

I have many OS in the same drive and verified all of 'em substracted 2GB out of my total, so I suspected the onboard VGA card could be stealing those 2GB although I couldn't find a confirmation within Windows.

Inspired by other answers here, this was my fix:

  1. I got into BIOS (technically I should call it EFI configuration)
  2. Entered menu Peripherials, GFX (this is the fine tune control over the graphics)
  3. One of the settings said "UMA framebuffer size" which was set to "Auto"
  4. I changed it to manual, and it opened before me the option to choose among many sizes in the range from 16MB to 2GB.
  5. I chose 512MB, and saved (F10)

In effect, the onboard graphics card was the culprit; under the innocent "Auto" option it was just borrowing the maximum value!

Hope this helps someone!

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