32bit game memory usage explained

Discussion in 'Performance Support' started by ARCHIVED-deadcrickets2, Sep 14, 2011.

  1. ARCHIVED-zenbabe Guest

    deadcrickets2 wrote:
    Thanks again. Made all the changes and the computer is functioning. No idea yet if it took care of the critical out of memory errors.
    (The person who set up this soon to be ex computer made those settings in virtual memory. He is also an ex. heh.)
  2. ARCHIVED-Kerahzey Guest

    TSR-JoshuaM wrote:
    I havn't measured it but my problem is taken care of the performence is awsome and also a few guildy's were helped also. I'll leave the dxdiag thing for another day if I have problems. Thanks for all your help, you rock :D
  3. ARCHIVED-Trinral Guest

    deadcrickets2 wrote:

    The very first line from the quote above : "why a 32bit application such as EQ2 is limited to 2Gb on a 64bit operating system."


    Hi. Please get your information correct. Your very first line is wrong. I run a stock standard install of Win7, 64bit version. No modifications, no fancy edits, plain defaults. Last night, my EQ2 client was using 2.8 GB of memory.

    2.8GB of memory is over the 2GB limit that you incorrectly claimed.

    Everything I have read thus far on /4GT (/3GB) from microsoft documentation, indicates your information is either useless, or potentially detrimental to anyone running a 64bit operating system.

    If you are not running a 32bit operating system, ignore the OP's advice. For most people, it poses more risk than benefit. If in doubt, do your own research on what /4GT is. While I am sure the OP was made with good intentions, but it is an unwise action for most users, especially if you have not done your research.


    I pulled this quote from one of the microsoft documents regarding /4GT
    "4-gigabyte tuning (4GT), also known as application memory tuning, or the /3GB switch, is a technology (only applicable to 32 bit systems) that alters the amount of virtual address space available to user mode applications."
    With the limited target audience for the information in the OP, and the potential for user error, I suggest this thread be unstickied, incorrect information be removed, and due warnings be provided..
  4. ARCHIVED-deadcrickets2 Guest

    Avirodar@Oasis wrote:
    Let's tackle this head-on. First off, 64bit operating systems have the same 32bit application limits as a 32bit operating system. This is due to the WoW, Windows on Windows, system. According to Microsoft:
    "32-bit processes that run on 64-bit versions of Windows run in a 4-GB tuning model (2 GB User and 2GB Kernel)"
    From same article by Microsoft is this chart:
    Memory typeLimit in on X86Limit in 64-bit Windows
    User-mode virtual address space for each 32-bit process
    2 GB
    Up to 3 GB with IMAGE_FILE_LARGE_ADDRESS_AWARE and 4GT
    2 GB with IMAGE_FILE_LARGE_ADDRESS_AWARE cleared (default)
    4 GB with IMAGE_FILE_LARGE_ADDRESS_AWARE set
    What that means is that all processes (applications) are only able to use 2, not 4 or 5 or 16. The rest is reserved for the kernel.
    Secondly, from Microsoft in regards to using 4GT on 64bit operating systems:
    "On 64-bit editions of Windows, 32-bit applications marked with the IMAGE_FILE_LARGE_ADDRESS_AWARE flag have 4 GB of address space available."
    Thirdly, when you see memory usage under Task Manager it may include page file use. Thus you could have 512Mb of RAM and have an application showing as using 1.2Gb.
    As for stability, Microsoft vouches for the stability of it. If you do a search you'll also find that Oracle has an article about it and they, too, vouch for it.
  5. ARCHIVED-Trinral Guest

    Your information contradicts itself. I have not enabled any large memory awareness, I have not changed any stock, default, factory settings. My EQ2 client can, and does, use more than 2GB of memory.

    Unless you are trying to tell me that 2.8GB of memory is less than 2.0GB of memory, your post is wrong. That is why I have called the legitimacy and reliability of the information snippets you provide, in legitimate question.

    The rest of your post is meaningless snippets of an overall picture you do not fully comprehend. I have most definitely NOT enabled /4GT on my machine and I can have 2 clients of EQ2 open, each using over 2.6 GB of memory. When microsoft themselves say /4GT is only for 32 bit machines, I believe them.
  6. ARCHIVED-deadcrickets2 Guest

    Avirodar@Oasis wrote:
    No, it does not contradict itself. Look at the chart, above, provided by Microsoft themselves.
    Secondly, you are, obviously, confused as to how memory is handled in Windows. What you are seeing when you look under Task Manager is the process working set. This total will include both the memory and address space limits plus the virtual memory stored in the page file. The memory and address space limits is what Microsoft refers to when they mention 4GT and why it has to be enabled. It also explains how you can have a larger number than 2048 in task manager and not crash. So on a 64bit system it has 4GT by default. However, it is set to 2 GB for you and 2 GB for the system. What I show in the OP is a change to make it 3 GB for you and 1 GB for the system. This prevents the page fault errors players are seeing.
    Whenver you start a program on Windows it will automatically allocate virtual memory space regardless of if the program actually needs it. That virtual memory will keep growing as you use the program; again, regardless of if the program still needs the information. The page file will not, however, keep a program from crashing due to a page fault when it does exceed the memory and address space limitation placed on it by the WoW32 subsystem.
    The only way that the memory can be kept under the limit is due to what is called 'garbage cleanup' done by the application itself. If the application has not been coded correctly you will see the memory leak that some users are seeing now.
  7. ARCHIVED-deadcrickets2 Guest

    Another thing to keep in mind is how they wrote the line that you are refering to earlier that caused the confusion. It's a common error.

    The line you quoted is:
    "4-gigabyte tuning (4GT), also known as application memory tuning, or the /3GB switch, is a technology (only applicable to 32 bit systems) that alters the amount of virtual address space available to user mode applications"
    Let's break down that line to fully understand it. It's stating that:
    4-gigabyte tuning (4GT), also known as application memory tuning, is a technology that alters the amount of virtual address space available to user mode applications.
    This is a true statement.
    However, it tossed in a qualifier into the sentence that confuses people by stating that /3GB is only applicable to 32 bit systems. That, also is true. On the Vista 64, Windows 7 64 and Windows 8 64 systems they ignore those boot switches.
    Instead, it's done by the bcdedit.
  8. ARCHIVED-deadcrickets2 Guest

  9. ARCHIVED-Felynx Guest

    Thank you for the info on this, DC. You have helped myself, and many others here.
    Cheers
  10. ARCHIVED-Levatino Guest

    I also would like to thank the OP. Since using 3GT I haven't had a crash in Freeport (I had hickups and I think it would have had crashed on me if I hadn't use this tech.)
    I want to add one thing though. I think it's adviceable if you want to add the 3GT switch you instead of adding it to your existing line in the operating systems area of the boot.ini file; you copy paste the existing line and add the switch onto that. Then if it would fail or hicks up your system you always have the first configuarion to fall back on.
    With copy paste the original line and adding the 3GT switch you create a secondary operating system, if it fails just load up your original operating system go back to your boot.ini and delete the copy pasted line.
    And if you are not sure of what to do, please first contact someone in your neighbourhood who does has knowledge about this sort of things
  11. ARCHIVED-Trinral Guest

    deadcrickets2 wrote:

    "4-gigabyte tuning (4GT), also known as application memory tuning, or the /3GB switch, is a technology (only applicable to 32 bit systems) that alters the amount of virtual address space available to user mode applications"

    Lets break it down. The quote makes it very clear that :

    /4GT = memory application tuning.
    /3GB = memory application tuning.
    /4GT = /3GB

    It is all one and the same, microsofts documentation on numerous articles make it clear. Whether activated by the switch, or by bcdedit, it is the same thing. Only applicable to 32 bit systems...

    While you can modify different settings via bcdedit to allow "large file awareness" and increased use of virtual memory (which is of no use to gamers), this is different to physical memory and access to it. The primary benefit of /4GT to gamers, is getting more use out of a limited supply of accessible RAM on a 32bit OS.

    There is a reason all official posts and commentary for /4GT talk all about 32 bit operating systems. Such as:
    A great read :
    http://technet.microsoft.com/en-us/...r_4gt_what_suep

    And another :
    http://msdn.microsoft.com/en-us/lib...v=vs.85%29.aspx

    And this one makes a great statement :
    http://technet.microsoft.com/en-us/...28WS.10%29.aspx
    There are few restrictions regarding the environment in which 4GT can be enabled. 4GT has the following hardware and software requirements:

    • x86-based processor
    You opened thread stating that EQ2 is limited to 2GB on x64 systems unless changes are made. I have hit 2.8GB on stock default settings without crashing. So unless you are changing what you said to x64 systems having a 4GB limit, that may be a very different story, but as I have not flagged anything for image_file_large_address_aware, this does not appear to co-incide with your information.

    I have not changed settings in bcdedit. As I continue to read up on the fucntion, namely 4GT/3GB, I keep finding pages filled with information on how this benefits x32 Operating Systems. I can see why oracle (database architechture) would have interest in memory tweaking, even on 64 bit OS's, but they are a whole different ballpark to games, especially when dealing with data volumes.
  12. ARCHIVED-deadcrickets2 Guest

    Avirodar@Oasis wrote:
    Autotune on 64bit systems is on by default. However, as per the Microsoft articles I posted above, it is set to 2/2. 2 for the application and 2 for the system. BCDEDIT Microsoft suggested changes that to 3/1. The chart in one of the prior posts, again created by Microsoft, makes it clear that by default it's 2/2 unless the application has the Large Address Aware flag coded into the executable header. At that point it'll be 4. I also explained to you how you are able to see 2.8Gb when the application limit is 2Gb. The article by the Tech Fellow at Microsoft also explains this.
    Yet another chart, this time from the Microsoft Performance Team:
    Memory Type
    Limit on x86
    Limit on x64
    Physical Memory 4GB
    64 GB with PAE
    1 TB
    Kernel Virtual Address 2 GB
    1 GB with 4GT (/3GB)
    8 TB
    User Mode Process 2 GB
    3 GB with 4GT (/3GB)
    2 GB for 32-bit processes
    4 GB for 32-bit processes with LARGE_ADDRESS_AWARE
    8 TB for 64-bit processes

    http://blogs.technet.com/b/askperf/...it-windows.aspx

    If you have any further questions please direct them at Microsoft through the MVP program. If there is any contradiction you feel they have with their documentation they may have an answer for you.
  13. ARCHIVED-SkunkCabbage Guest

  14. ARCHIVED-deadcrickets2 Guest

    SkunkCabbage wrote:
    From my own checking the file is already set to enable this. There is more to it simply having this flag though. An update to the original post will be coming soon to explain more.
  15. ARCHIVED-Banedon_Toran Guest

    deadcrickets2 wrote:
    Interesting, so potentially the option of 4GB physical address space for EQ2 on 64bit systems with more than 4GB memory?
  16. ARCHIVED-Trinral Guest

    Banedon_Toran wrote:
    Indeed. But to work properly (in a manner that yields superior client performance), it may require SOE to code certain things to take advantage of it, beyond the image header tag.
  17. ARCHIVED-Pashta Guest

    Thank you, trying it now because I have been receiving the memory error lately. :(
  18. ARCHIVED-Dalannae Guest

    Yes I want to thank you also for htis information but need to know how it effects a machine with 2GB Ram which is all my AMD Athlon 64 3300+ mother board allows at least it is all that was recognized when i tried to install more(this is better then my old mother board that did not allow any more then 1Gig RAM). I am running with an ATI Radeon 9800 XT Graphics card. and until AoD expansion hit live was doing fine. since then it has been lag city and I"ve had to go down to Extreme performance instead of my usual High performance. and this last patch seems to have kicked the problem up to getting that memory error pop up, having to close the game out and request help in getting my Toon on AB out of from the teir 1 Guild hall she was trying to get in while in Extreme performance
    So all I need to know is if this fix will work with 2gig ram or am I SoL until SoE figures out what they broke.
  19. ARCHIVED-Levatino Guest

    Alenna@Guk wrote:
    I also have 2 gigs of Ram physically and I can say this solution works for me. Yes I have lag, but the error is gone.
    The switch also takes into account the virtual memory you have set on your machine.
    My suggestion to you, try it out.
    edit: spelling mistake
  20. ARCHIVED-Helmarf Guest

    Ok i had the same problems with memory crashes but only on 2 of my chars when trying to zone in to their houses and some random crashes when zoning to guildhall. But this works very good, it looks like my system stoped consuming more memory to.

    Big thx