I just upgraded my Lenovo R61 laptop from 3GB to 4GB. After the upgrade Lenovo technician showed me that BIOS was saying - 4GB memory installed. When I started Windows 7, I fired up Task Manager and I can see that Total Physical Memory was 3,096MB or just 3GB. When I ask the technician what is wrong, I got the answer –“Well, Windows 32 bit can only show up to 3GB. If you need to use 4GB you need to upgrade to Windows 7 64 bit.”. My first reaction was - “But wait, 32 bit means that overall 4GB of memory can be accessed, right? So why do I only see 3GB of total memory.". Then he said something about memory bus, addressing and Windows hardware support, and final line was - “Well, I need to calculate how big exactly is 32 bit number”. At this point it was clear to me that I need to figure out the issue by myself.
Looks like Windows 2000, XP, Vista and 7 support 4GB in their 32 bit version as written here: Memory Limits for Windows Releases.
However displaying that information is a little bit tricky as it has been changed from Windows Vista to Windows Vista SP1.
Windows Vista (with SP1 installed) or later will show you the total physical memory installed on the machine (Windows Vista SP1 includes reporting of Installed System Memory (RAM)) by going to Control Panel/System or My Computer/Properties window. On my machine (Windows 7) this is what I see:
Installed memory (RAM): 4.00 GB (2.99 GB usable)
System type: 32-bit Operating System
Windows Vista (without SP1 installed) will show you the actual memory available to Windows due to reserved memory-mapped I/O (MMIO) as the following article explains:
The system memory that is reported in the System Information dialog box in Windows Vista is less than you expect if 4 GB of RAM is installed
For example, if you have a video card that has 256 MB of onboard memory, that memory must be mapped within the first 4 GB of address space. If 4 GB of system memory is already installed, part of that address space must be reserved by the graphics memory mapping. Graphics memory mapping overwrites a part of the system memory. These conditions reduce the total amount of system memory that is available to the operating system.
The reduction in available system memory depends on the devices that are installed in the computer. However, to avoid potential driver compatibility issues, the 32-bit versions of Windows Vista limit the total available memory to 3.12 GB.
Regardless of how Windows reports memory available, the real available memory to Windows seems to be constrained to 3.12GB on 32bit version of Windows and this is what Task Manager is actually showing.
Read more about this constraint on Windows memory FAQ.
There is an option to make Windows 32bit to “see” memory over 4GB that is called Physical Address Extension. However this option is more like software mapping of memory regions and has lots of issues with device drivers.
Let’s move to our next article in this research - Pushing the Limits of Windows: Physical Memory by Mark Russinovich. In his article Mark give a nice wrap up of our problem so far:
While 4GB is the licensed limit for 32-bit client SKUs, the effective limit is actually lower and dependent on the system's chipset and connected devices. The reason is that the physical address map includes not only RAM, but device memory as well, and x86 and x64 systems map all device memory below the 4GB address boundary to remain compatible with 32-bit operating systems that don't know how to handle addresses larger than 4GB.
However it is interesting to see that Mark’s machine has a little more memory available:
Installed Physical Memory (RAM) 4.00 GB
Total Physical Memory 3.50 GB
You may think that you should never install 32bit system with 4GB of RAM, however this comment from Anna N on Mark’s post put me into thinking:
Yes, there's a reason to have 4GB under 32bit OS, and that is because most graphic cards have 512MB or less, so even after drivers' memory holes you have usually much more than 2GB available, and that's useful for caching (so for casual usage, too), especially under Vista. 4GB is (on current platforms) better than 3GB because of dual channel memory so 2x2GB means better memory performance than 2GB+1GB. This may change on triple-channel Nehalem, maybe 3x1GB will be better.
Looks like even though I cannot use this 1GB I just bought, still my memory works now in dual channel mode which is faster than previous configuration.
So the question that we are left so far with is “How I can see what is taking up my memory between 3GB and 4GB memory range and is there a way to use some parts of that area?”.
These 0.5 GB difference of memory in my machine and Mark’s are about 12% of the total memory and it can really make the difference for my heavily used laptop.
I will continue my research in part 2 of this post.
Labels: Tools and Tips, Windows 7
# posted by Martin Kulov @ 12:41 AM
|

Coskun Sunali sent me a list of 77 tips for Windows 7. While some of the tips are already included in Windows Vista and Windows Server 2008, it is still a good reference to all of them. Here is a short list of my favorites.
15. Prepare for DirectAccess. DirectAccess makes it easier for users to remotely access their office-based resources, without a VPN. DirectAccess also opens up remote computers more fully to Group Policy—but it requires Windows 7 and Windows 2008 R2.
21. Presentation Nirvana. Press Windows+P to access the new Presentation mode, and easily turn on your projector and laptop screen at the same time. No more messing with vendor-specific utilities and arcane keystrokes. (Windows+X accesses the Mobility Center, with additional presentation options.)
22. Cut the Clutter. Press Windows+Home to minimize all but the current window, removing background clutter and letting you focus on that report your boss has been bugging you about.
23. Be a Mouse-Click Administrator. Windows 7 makes it easy to gain admin rights with a keyboard shortcut. Click on Ctrl+Shift on a taskbar-locked icon, and voila! You've launched it with appropriate admin rights.
29. RoboCopyCopyCopy. The always-useful Robocopy.exe can now run multi-threaded; run Robocopy /? to review its new parameters (like /MT for multithreading) and make your copies go faster.
35. Simplify Cloned Machine Setups. You can't run Sysinternals' newsid utility to change the identity of a cloned Windows 7 machine (either a virtual machine or imaged PC). Instead, create a template installation then run sysprep /oobe /generalize /reboot /shutdown /unattend:scriptfile. Clone or copy this virtual machine file. When it launches, it will get a new SID and you can fill in the name. The reference for building unattended script files is at tinyurl.com/winunattend.
46. Encrypt USB Sticks. Use BitLocker To Go. Maybe you've managed to never misplace or lose a USB key, but for the rest of us mere mortals, it's a fact of life. Most of the time it's no big deal, but what if it contains sensitive data? BitLocker To Go enables you to encrypt data on removable storage devices with a password or a digital certificate stored on a smart card.
Labels: Tools and Tips, Windows 7
# posted by Martin Kulov @ 11:51 AM
|
