AWE Adventures

  • Comments posted to this topic are about the content posted at http://www.sqlservercentral.com/columnists/jsack/aweadventures.asp

  • Just a comment on the use of AWE. I have a server with 8gb or ram. I used the /3gb and /pae together and this caused me a problem. When using both parms in the boot.ini, I would have problems installing software. When I would install it would give me a message stating that I didn't have enough memory and would not install. If that is all that happend I was lucky.

    Sometimes the install with the above parms would wipe out parts of the registry or corrupt OS dlls. Then I would need to reinstall the OS and resetup the entire server.

    Now it seems if I only have the /3gb I will get Not Enough Memory errors but no corruption. If I just have the /pae parm loaded, I get no messages and have no problems.

    I now only run with the /pae parm.

    I am running on a Dell 8450 with 8 gb of ram. My OS is W2k AS and my DBMS is SQL 2000 Enterprise.

    Has anyone ever heard of this or had this problem. I did not check into it to far. But I think the installs of older programs may have caused this corruption. Newer programs would only give me Not Enough Memory Errors.

    Thanks

  • Actually, the use of PAE alone should not cause any issues. All you are doing is tell the OS to load a 36-bit version of the kernel (as opposed to a 32-bit). This allows the OS to recognize up to 64GB of memory (although only 32GB is supported by Microsoft on Datacenter).

    The use of /3GB shrinks the memory available to the OS down to 1GB. One thing to watch for is the PTEs (Page Table Extensions). If not enough are available, the system can become unstable or even blue screen.

    Since PAE loads a 36-bit OS, managing memory addresses requires more memory (a 32-bit address is shorter than a 36-bit address). So not only the OS is now reduced to working within a 1GB space, using PAE requires the OS to consume more memory to manage itself.

    Usually, I have seen that using both PAE and 3GB at the same time is fine with systems with up to 8GB when the server is only running SQL Server and the requires services. When running more than this, or running multiple instances of SQL Server, the OS may be starving memory for the reasons I explained above.

    You cannot use PAE and 3GB together with systems with 16GB or more. In this case, you can only use the PAE switch.

    Finally, I confirm that using AWE on Datacenter gives the same results/behavior than on Advanced Server. I am not a big fan of AWE for a specific reason: it requires the memory to be zeroed out on startup of the SQL service, which is a single threaded operation and could take minutes (I have seen instances taking up to 15 minutes when allocating 8GB to SQL). I only use it when absolutely required.

    quote:


    Just a comment on the use of AWE. I have a server with 8gb or ram. I used the /3gb and /pae together and this caused me a problem. When using both parms in the boot.ini, I would have problems installing software. When I would install it would give me a message stating that I didn't have enough memory and would not install. If that is all that happend I was lucky.

    Sometimes the install with the above parms would wipe out parts of the registry or corrupt OS dlls. Then I would need to reinstall the OS and resetup the entire server.

    Now it seems if I only have the /3gb I will get Not Enough Memory errors but no corruption. If I just have the /pae parm loaded, I get no messages and have no problems.

    I now only run with the /pae parm.

    I am running on a Dell 8450 with 8 gb of ram. My OS is W2k AS and my DBMS is SQL 2000 Enterprise.

    Has anyone ever heard of this or had this problem. I did not check into it to far. But I think the installs of older programs may have caused this corruption. Newer programs would only give me Not Enough Memory Errors.

    Thanks


    Herve Roggero
    hroggero@pynlogic.com
    MCDBA, MCSE, MCSD
    SQL Server Database Proxy/Firewall and Auditing

  • Just a little comment regarding your article: you do not need to have both /3GB and /PAE in order to enable AWE. All you really need is the PAE switch for the OS to recognize the memory above 4GB.

    Infact, the high IO was probably the result of paging to disk (I couldn't find in the article the type of IO you were referring to), which the /3GB may have solved alone. Indeed, the extra 1GB allocated to SQL as a result of this switch may have removed most of your IO problems (it usually does). That's because more memory (1GB) is available to store you data pages.

    The AWE switch means that the extra memory is used to store data pages only (so the extended memory is useless for the cache). This means that the /3GB switch solved your procedure cache problems.

    AWE (with PAE) can reduce your IO if after enabling 3GB you still experience paging. One counter to watch for is the PLE (Page Life Expectancy). If this counter drops below 300 (on average), more memory is needed - it indicates that pages stay on average less than 5 minutes in memory before being swapped out.

    The point I am trying to make is that 3GB is a switch totally independent from PAE and AWE, and that it alone may have resolved all the symptoms described in your article. Adding PAE and AWE may have been necessary in your case on top of 3GB, which is usually dictated by the PLE counter.

    Thanks

    Herve Roggero
    hroggero@pynlogic.com
    MCDBA, MCSE, MCSD
    SQL Server Database Proxy/Firewall and Auditing

  • Since you set the /3GB switch to let 1GB to the operating system why did you set up also a "max server memory"?

  • one setting is for the operating system, the other is for the database.


    Cheers,

    david russell

Viewing 6 posts - 1 through 5 (of 5 total)

You must be logged in to reply to this topic. Login to reply