Recommended Posts

I've got a question about 4GB RAM and x64.

Well,with 32bit and 4GB RAM, it only sees 3.25GB(round it to 3GB). Application that are used only use half of the available RAM, so that would be 1.5GB.

2.6GB is available on the task manager but the extra 1GB isn't used.

I'm not sure what you mean by only use half of the available RAM.

The issue in the 32-bit consumer versions of Windows is that the kernel has a 32-bit virtual address space (VAS). This is essentially a list of 2^32 = 4,294,967,296 (4GB) of numbers (addresses) that can point to anything. It is not a 1:1 map of the physical RAM, and something that takes up part of virtual address space is not necessarily using the same amount of physical RAM.

For performance reasons, all the hardware resources on the motherboard have to be mapped into this VAS so that the various components of Windows can access them directly by simply looking at a certain address in the VAS list. If Windows has to map 1GB of these resources into the VAS. That means that it now only has 3GB of addresses left that it can map to the addresses of the actual physical RAM. If you have 4GB of physical RAM, the last GB simply remains unused and ignored by the system.

Now, that was the kernel's VAS, but in addition to that each process (application) on the system gets assigned its own unique and private 4GB (32-bit) VAS, where the lower 2GB belong to the process and are dynamically mapped to various addresses in physical RAM as the process allocates memory, and the high 2GB which are fixed and map to various resources in the kernel (for performance reasons.)

In other word, the most memory a single application can use (without resorting to manual memory management) is 2GB. However, since the VAS is unique to the process, two processes could if they wanted to each allocate 1.5GB on a machine with 3GB available RAM.

And like I said, if a process requires it, it can request chunks of memory and do its own memory management, and thus allocate as much memory as it wants. In other words, there is no restriction that make applications only capable of using half the available RAM.

If 64bit was installed, how much RAM would be available for that one application?

If system uses 1GB ram, then would 3GB be used for the application or would it be the same?

With Vista, Home Basic can support 8GB of ram, Home Premium 16GB, and the other versions up to 128GB. As for the physical limit, on the AMD64 (x64) platform, memory addressing is 48-bit. Not that you'd have that much memory anyway, most chipsets support far less.

The VAS each process is assigned on AMD64 Windows is divided 50/50 between allocatable memory and mapping to kernel resources just like on 32-bit, except instead of 2/2 GB (32-bit), it is 8/8 TB (43-bit). This can be gradually extended towards the full 64-bit in the future as/if it becomes necessary (it isn't done at present for performance reasons).

In other words, if you are running Home Premium 64-bit, an application can, without any extra work, allocate 8 TB of memory, where up to 16GB (128 for Ultimate) can be physical RAM and the rest swap on disk. That basically means all your RAM.

Sorry if this was a little too technical.

  • 3 weeks later...
  • 1 month later...

It should be noted that most consumer 32-bit operating systems limit memory usage to 4GB and hardware may limit this further. 64-bit versions of Windows XP and Windows Vista have memory limits of 128GB with the exception of Vista Home Premium and Vista Home Basic which have limits of 16GB and 8GB respectively. Vista Starter and XP Starter have no 64-bit versions and are limited to 1GB and 512MB respectively.

Each 32-bit process on a 64-bit operating system can use up to 2GB of RAM

Note: This can be increased by setting IMAGE_FILE_LARGE_ADDRESS_AWARE

Each 64-bit process on a 64-bit operating system can use up to 8TB of RAM

other than safer surfing, no.

32-bit drivers do not penetrate 64-bit operating systems.

That is a common misconception. Most browsers are still 32-bit, thus any browser extensions are still 32-bit. Very few virus or spyware attacks use system drivers and usually rely on installing services, start-up items and BHO's which could care less if the operating system is 32 or 64-bit.

Anti-virus applications are another story altogether. All of the major anti-virus vendors rely heavily on drivers thus must be specifically designed for a 64-bit operating system. Most of the vendors have already addressed this and have products on the market that are compatible. Users will find that with most of these, there will be increased scanning speeds on the 64-bit varieties versus the 32-bit counterparts.

When buying software for Windows Vista, look for the logo, it ensures that the vendor has met compatibility standards for both 32 and 64-bit.

It should be noted that most consumer 32-bit operating systems limit memory usage to 4GB and hardware may limit this further.

You mean most versions of Windows. Other modern 32-bit OSes generally have no such restriction as long as the hardware supports more. Mac OS X is an example of this (and I suppose the only other OS that qualifies as "consumer").

Also, your numbers aren't really correct. What you are describing is the size of the default virtual address space, not the most memory a process can use (which is any amount up to the available physical/virtual amount available).

It could have been a bit more simple. If you plan on having/have more then 3GB of RAM use a 64-bit operating system.

Outside of that, beyond rumors etc 2 or 3GB or lower with 64 bit operating system will not actually be any faster or anything in real world use or anything.

You mean most versions of Windows. Other modern 32-bit OSes generally have no such restriction as long as the hardware supports more. Mac OS X is an example of this (and I suppose the only other OS that qualifies as "consumer").

Also, your numbers aren't really correct. What you are describing is the size of the default virtual address space, not the most memory a process can use (which is any amount up to the available physical/virtual amount available).

I stand corrected. OSX does not have the 4GB limit that 32-bit Windows had although the applications had a 4GB limit prior to Tiger. It should be noted though that this thread is generally refering to Windows although I was ambiguous in my post.

Please cite your source regarding process memory usage.

It could have been a bit more simple. If you plan on having/have more then 3GB of RAM use a 64-bit operating system.

Outside of that, beyond rumors etc 2 or 3GB or lower with 64 bit operating system will not actually be any faster or anything in real world use or anything.

I have used Vista Home Premium 32-bit and 64-bit on the same hardware with 2GB of ram and in some applications I have noticed significant performance improvements. It is all dependant on whether the application was optimized for 64-bit calculations

Your source does not provide proof of your rebuttal. If I am wrong on my information I would like to know but thus far you have not shown me that 32-processes can use more than 2GB of memory without IMAGE_FILE_LARGE_ADDRESS_AWARE being set.

Did you look at it, because it's purpose is to allocate any amount of memory you want (up to the physical limit). Similar mechanisms exist on all modern operating systems, it's nothing special.

Understood, but unless the flag is set in the OS, it is irrelevant what the programmer did. Windows will still limit memory allocation to 2GB per process.

Understood, but unless the flag is set in the OS, it is irrelevant what the programmer did. Windows will still limit memory allocation to 2GB per process.

Uh, no. 2GB (3GB with 4GT and 4GB on WOW64 if large address aware) is the size of the virtual address space. No more, no less. The function I linked to allocates any number of pages (as long as they're available) which you can then map as you wish.

Uh, no. 2GB (3GB with 4GT and 4GB on WOW64 if large address aware) is the size of the virtual address space. No more, no less. The function I linked to allocates any number of pages (as long as they're available) which you can then map as you wish.

We're just going to have to agree to disagree. I have yet to see an application that can use more than 2GB on a 32-bit desktop Windows operating system.

No offence dude, but you're basically claiming that the earth is flat -- even after having been shown conclusive evidence that it is not. SQL Server is one example of a product that uses said API to support large amounts of RAM, so you can't have looked very far. There's no reason why you can't give it 60GB if you have it and an OS edition that is licensed to support that much RAM (i.e Datacenter).

Whether it's a desktop or server OS has no relevance, they both work the exact same way.

This is just a silly discussion.

No offence dude, but you're basically claiming that the earth is flat -- even after having been shown conclusive evidence that it is not. SQL Server is one example of a product that uses said API to support large amounts of RAM, so you can't have looked very far. There's no reason why you can't give it 60GB if you have it and an OS edition that is licensed to support that much RAM (i.e Datacenter).

Whether it's a desktop or server OS has no relevance, they both work the exact same way.

This is just a silly discussion.

Hrmm.... after some more reading, I stand corrected. It seems that you are correct about applications being able to use more than 2GB of ram. Aside from SQL Server, there seems to be little use of this so for all intensive purposes, this debate seems to be a moot point as there is little documented use of said API in applications that the average user would encounter on their home or office workstation. Considering that the 32-bit OS memory limit is 4GB it would stand to reason that anyone needing more than 2GB for any one application would be best to move to a 64-bit OS anyway to allow further memory expansion and to gain a mathematical advantage as such applications usually benefit noticeably from 64-bit operating systems

  • 2 months later...

I currently have 3.0 Gb of some off brand memory that I never heard of. My machine is capable of running 64 bit. I am going to install the 64 bit version of Windows 7 RC1. My question is. Memory is pretty cheap right now and I can get 8GB of Crucial Ballistix Ram for around $98.00.

Will that much ram generate allot of heat and is it over kill?

This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Posts

    • Wow, spoken like a true blind hater, you don't even provide arguments. Please, go check my comment above to @seacaptain and you'll find out why what you say doesn't make sense in this context...
    • Get used to this, with AI tooling now uncovering new vulns and getting them exploitable far faster than has ever been possible before software is going to need to be updated far more frequently. Back in the day it may take reseachers weeks or months to do what AI can now do in hours. Once its a threat is discovered it's weaponsized far more quickly, meaning you simply can't be waiting 2, 3, 4 weeks to deploy a patch, it needs to be patched immediately. Going to be interesting handling this in the enterprise space where traditionally patching has been steady, but very staged (and rightly so up until now), that is going to have to change.
    • You don't need to "close all browser sessions constantly" or wait for updates to install. The updates download in the background while you use the browser, without interrupting you, they install automatically the next time you launch the app. And they install very fast (depending on your storage speeds, of course), you have to wait at most 2-3 extra seconds, if any. Seems like you haven't used Edge in a loooooooong time...
    • Segra 1.6.0 by Razvan Serea Segra is a free, open-source OBS-powered game recorder offering fast gameplay capture, instant clips, AI highlights, deep game integration, and seamless uploads—perfect for gamers, streamers, and content creators. Lightweight, fast, zero bloat. Segra key features: Automatic Game Recording: Begin capturing gameplay the moment your game launches, with zero manual setup. Instant Clipping: Save important moments instantly using a customizable hotkey—perfect for highlights, montages, or quick shares. Segra AI Highlights: Let Segra automatically detect kills, assists, deaths, and key events to generate polished highlight reels without manual editing. Gameplay Uploads: Upload recordings and clips directly to Segra.tv for fast sharing and cloud access. Deep Game Integration: Enjoy advanced game-data tracking across hundreds of supported titles, enabling smart highlight generation and stat-informed clipping. High-Performance Capture: Record up to 4K at 144 FPS using OBS-powered technology with minimal performance impact, supporting NVENC, AMD VCE, and custom quality controls. Segra Editor: Edit recordings easily with timeline controls, segment management, and event-based navigation to build the perfect clip. Customization Options: Adjust hotkeys, output formats, storage paths, codecs, capture quality, and performance settings for a tailored recording experience. Segra 1.6.0 changelog: Recording: Added HDR support. Grand Theft Auto: Added game integration for deaths (FiveM and RAGE MP supported). Highlights: Added customizable padding for highlights. Replay Buffer: Added a shockwave visual effect when a replay buffer clip is saved. Audio: Increased the maximum sound effects volume from 100% to 200%. Hotkeys: Fixed hotkeys not triggering while unrelated keys were held. Installer: Added code signing to verify publisher identity, branded the installer, and reduced OS security warnings. OBS: Updated the supported OBS version to 32.1.2. Download: Segra 1.6.0 | 74.4 MB (Open Source) View: Segra Homepage | Github | Screenshot Get alerted to all of our Software updates on Twitter at @NeowinSoftware
  • Recent Achievements

    • One Month Later
      Clizby earned a badge
      One Month Later
    • One Month Later
      Timaximus earned a badge
      One Month Later
    • Week One Done
      Timaximus earned a badge
      Week One Done
    • Rookie
      FBSPL went up a rank
      Rookie
    • First Post
      davidbazooked earned a badge
      First Post
  • Popular Contributors

    1. 1
      +primortal
      508
    2. 2
      PsYcHoKiLLa
      175
    3. 3
      +Edouard
      163
    4. 4
      Steven P.
      86
    5. 5
      ATLien_0
      79
  • Tell a friend

    Love Neowin? Tell a friend!