Close
Page 1 of 2 1 2 LastLast
Showing results 1 to 10 of 14
  1. #1

    Default Memory usage on 64-bit OS

    I have 12 GB RAM and I know 32-bit software (like WoW) only can use 3 or 4 GB of it. But does this mean all five instances of my WoWs must share the same first 4 GB and leaving the rest 8 GB complely unused? Or can they spread out on all those 12 GB but each application can only access it's own small pocket of memory?
    valle2000
    multiboxing WoW using hotkeynet and jamba addon

  2. #2

    Default

    I had a long explanation but it got eaten by my browser

    There are hardware (64 bit capable CPUs for physical addressing) and software issues (64 bit Operating Systems) but basically it is the operating system that manages the memory that an application can use and not the application itself.

    A 32 bit operating system can handle approximately 4GB of addressable memory. This is because each bit in the address can only be a 1 or 0 so 2^32 addresses equals roughly 4GB (there is some overhead in windows for reserved spaces etc). Most 32 bit Windows systems will show that it recognizes 3.5GB of RAM because of the overhead and other reasons that I wont get into.

    A 64 bit operating system can handle 2^64 addresses which is roughly 18 million gigabytes (more than anyone can possibly put in their computer right now). That means that a 64 bit operating system is required to address all 12GB of RAM that you have. Most 32 bit applications can still run fine in a 64 bit environment. The operating system just manages them differently than they would a 64 bit application.

    Hope this helps
    Twins
    Last edited by ILikeTwins : 12-01-2010 at 10:42 AM

  3. #3

    Default

    to OP:right but also wrong,
    The only software controlling amount of RAM is the OS. Windows this case. The base 32 - bit OS only sets up 4 gigs of memory locations. From that number, the OS uses some, drivers use more so you end up with 3.5 gigs or so of usable RAM. Programs take memory from that amount.
    64 bit OS will allow a huge number of locations, forget the number but more memory then your PC can hold.
    Last edited by alcattle : 12-01-2010 at 10:43 AM Reason: beat me to the punch
    RAF Tour Guide files are obsolete, I went to Zygor
    MultiBoxers play with themselves

  4. #4

    Default

    At this point in time WoW is not supposed to use more than 2 gigs of RAM per instance. (5x WoWs max would ever use 10 gigs)

    http://forums.worldofwarcraft.com/th...1#242589026545
    We're not enabling the 3 GB switch on World of Warcraft as its memory management system is built to handle keeping things under 2 GB. It may change in a future version but the current one won't. Only StarCraft II has it.

  5. #5

    Default

    But can a 32-bit application running in my 64-bit OS utilize any of the memory above the first 4 GB?

    A simple theoretical example. If we pretend the OS uses 1 GB of memory and two 32-bit applications are launched using 3 GB each, can the first program be placed in memory range 2-4 GB and the second in memory range 5-7 GB? Or must they both be placed within those first 4 GB since they are 32-bit and are incapable of allocate any memory above the 1-4 GB range?

    Hope you understand how I mean.
    valle2000
    multiboxing WoW using hotkeynet and jamba addon

  6. #6

    Default

    Quote Originally Posted by valle2000 View Post
    But can a 32-bit application running in my 64-bit OS utilize any of the memory above the first 4 GB?

    A simple theoretical example. If we pretend the OS uses 1 GB of memory and two 32-bit applications are launched using 3 GB each, can the first program be placed in memory range 2-4 GB and the second in memory range 5-7 GB? Or must they both be placed within those first 4 GB since they are 32-bit and are incapable of allocate any memory above the 1-4 GB range?

    Hope you understand how I mean.
    yes although some older programs need a little help with newer 64 bit OS
    RAF Tour Guide files are obsolete, I went to Zygor
    MultiBoxers play with themselves

  7. #7

    Default

    well... people would not see more than roughly 4 gb ram used, if 5 wow instances could only use the 2-4gb ram range. so no one on these boards would have suggested to get more than 4gb ram.

    the thing is: a 64bit operating system gives a range to the 32bit application, in which this application can address its needed memory. the addresses in this range can be addressed with 32bit addresses (2gb or 4gb range or whatever). the operating system is then the one responsible to readdressing to the real hardware addresses.

    at least, that is how i think this works. but as my 12 gig ram are utilised quite good with 5 instances and not much more running, i'd say it is a safe guess, that what i described is what is happening.

    on another note: any other way would possibly be pretty detrimental to sales numbers of 64bit operating systems and ram modules ^^

    i'm not really sure about internals like this (just a dumb webdeveloper), but aren't 32bit applications in a 64bit windows running kind of in a virtual machine? not as in vmware or the like, but like in an emulated 32bit os?
    greetz,
    Bützel

  8. #8

    Default

    Quote Originally Posted by valle2000 View Post
    But can a 32-bit application running in my 64-bit OS utilize any of the memory above the first 4 GB?

    A simple theoretical example. If we pretend the OS uses 1 GB of memory and two 32-bit applications are launched using 3 GB each, can the first program be placed in memory range 2-4 GB and the second in memory range 5-7 GB? Or must they both be placed within those first 4 GB since they are 32-bit and are incapable of allocate any memory above the 1-4 GB range?

    Hope you understand how I mean.
    The Operating System only really cares that an application is 32bit for the purposes of figuring out how to execute each instruction.

    From a memory standpoint the OS just needs to know how much total space an application needs. So in your example the OS sees that it has 12GB total of addresses to use. It uses the 1GB you mention so then it has 11GB free. If you have 2 apps running at 3GB each then it will fit them both in as best it can in the space that is not being used. It may allocate it to spaces 2-4, 5-7, 10-12 etc but it has no restrictions as to where it must put it. In other words it doesn't restrict it to the first 4GB since a 64bit OS can recognize all 12GB.

    It actually gets more complicated than that since applications in RAM are in non-contiguous space (basically the application files are stored in all different spots in the memory but the overall usage is the same if you add all the pieces up). For the sake of this example it is fine to explain it the way that I have above

    Hope this helps
    Twins

    Oh and Buetzel you are correct. 32 bit applications are run in an emulator in 64 bit Windows called WOW64 (which stands for Windows 32-bit On Windows 64-bit). I think the name is a little ironic given the game we play hehe

    Here is an explanation of the techonology - http://en.wikipedia.org/wiki/WoW64
    Last edited by ILikeTwins : 12-01-2010 at 12:19 PM

  9. #9

    Default

    If you set a perfmon condition for 2.5gb you can see that wow hops up there. I only see this when under stupid auction addons race the damn game's addon garbage collection and the memory is take up with buffers that windows is giving it via the wow64 abstraction mentioned below.

    If you track the garbage collection in game, the game uses pretty much nothing on the normal 'flying gas can slave setup'. Eventually it will hit 1.5gb, but then you will zone, loot, or what not and it will free up.

    My worry on a system with low memory (less than 2gb per wow) is just how much time the game spends in garbage collection and how often.

  10. #10

    Default

    Quote Originally Posted by ILikeTwins View Post
    I had a long explanation but it got eaten by my browser

    There are hardware (64 bit capable CPUs for physical addressing) and software issues (64 bit Operating Systems) but basically it is the operating system that manages the memory that an application can use and not the application itself.

    A 32 bit operating system can handle approximately 4GB of addressable memory. This is because each bit in the address can only be a 1 or 0 so 2^32 addresses equals roughly 4GB (there is some overhead in windows for reserved spaces etc). Most 32 bit Windows systems will show that it recognizes 3.5GB of RAM because of the overhead and other reasons that I wont get into.

    A 64 bit operating system can handle 2^64 addresses which is roughly 18 million gigabytes (more than anyone can possibly put in their computer right now). That means that a 64 bit operating system is required to address all 12GB of RAM that you have. Most 32 bit applications can still run fine in a 64 bit environment. The operating system just manages them differently than they would a 64 bit application.

    Hope this helps
    Twins
    wat, shush and don't reply unless you're actually trying to answer the question. You added nothing (Nothing! neither am I right now, but I will shortly)

    Second of your posts: wat. Explanations are fun and all, but not needed in this thread. A yes/no suffices. On that note: yay learning?


    OP: Yes, you are not limited to four gigabytes of ram for all of your instances. Each will use up to 2GB of ram, up to a total of 10gb. (As per svper's post)
    Hardware Lurker

Posting Rules

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •