Memory warnings

  • Hi

    Having sql 2000 enterprise, with sp4 applied on an win 2000 os.

    SQL memory is fixed to use 3gb out of 4gb physical memory. Enabled /3gb, Awe and /pae switches. Currently sql server uses the memroy of 3gb. But we see warning occur everyday saying "Failed to reserve contigous memroy 64KB" i'm not sure why it is due to.  From the search got an info that you can include -g paramter to extend the mem-to-leave area. But not sure if it can be implemented on the prod. server and the implications on it. Let me know abt this and other any other way to solve this issue..

    Thanx

    Murali.a

  • I think you should turn off the /PAE switch and disable AWE since you only have 4GB of RAM.  See http://support.microsoft.com/kb/274750

  • Jeff,

    Thanx for the reply, The total physical ram is 4.5 gb. it was a typo error.

    Murali.a

  • Still no hint in resolving the above error. Let me know if any other updates about this.

    Murali.a

  • Is this hint good enough?

    http://blogs.msdn.com/khen1234/archive/2006/01/31/520724.aspx

    _____________
    Code for TallyGenerator

  • so your solution would be:

    1) correct your /pae and AWE settings.

    Only use the /3Gb in boot.ini and do NOT enable AWE in sqlserver

    2) I'd even advice to implement the latest Cumulative Update for SP4 !

    (I think you can find it at KB916287 )

    Johan

    Learn to play, play to learn !

    Dont drive faster than your guardian angel can fly ...
    but keeping both feet on the ground wont get you anywhere :w00t:

    - How to post Performance Problems
    - How to post data/code to get the best help[/url]

    - How to prevent a sore throat after hours of presenting ppt

    press F1 for solution, press shift+F1 for urgent solution 😀

    Need a bit of Powershell? How about this

    Who am I ? Sometimes this is me but most of the time this is me

  • anything beyod 2gb would required awe to be enabled right?

  • Murali,

    AWE is required to access more than 3GB memory of user-mode VAS (Here since you've got the /3GB switch enabled, this will increase the user-mode VAS to 3GB and AWE would be unnecessary still).

    AWE is a set of extensions to the memory management functions of Windows that allow applications to address more memory than the 2-3 GB that is available through standard 32-bit addressing.

    ...

    AWE allows allocating physical memory over 4 GB on 32-bit architecture. AWE should be used only when available physical memory is greater than user-mode virtual address space.

    Simon

    Simon Liew
    Microsoft Certified Master: SQL Server 2008

  • folks, thanks for all your response.

    The above said server is a cluster one (active\Passive) Let me know if the above said can be tested out or is it different on a cluster environement.

  • adding to the above one.

    Initially after enablilng awe and /3gb switches sql server was not taking beyond 2gb of memory, then we have applied a hotfixkb899761 and after that it started using 3gb of given fixed memory.

    If we do disable AWE as said above, Does it impact the hotfix that was applied earlier. Kindly let me know.

  • Murali,

    with or without the /3gb and/or awe enabled, sql server wont be able to utilise anything more than 2gb since you've only got 4gb memory in total without kb899761. this scenario only happen in sql2k sp4 which the cummulative version is less or equal to 2000.80.2040.

    Since you've put in a /3GB switch in your boot.ini, awe would not be necessary as the user-mode VAS is expanded to 3GB. AWE is ony applicable to access memory beyond user-mode VAS.

    It would not have any impact to disable AWE with /3GB switch on a 4GB memory server after applying the hotfix.

    Simon

    Simon Liew
    Microsoft Certified Master: SQL Server 2008

  • Will check that..

    But by disabling these setting will the warnings go.

  • From your description, the error msg might not dissapear after making these switch changes in the boot.ini file. I suspect something in the application that is connecting to SQL or some config in SQL is trying to use >=8K chunk memory at a time (normally this is the care).

    If you're using .NET data provider, make sure the connection string is only using packet Size=4096 (NOT 8060). Also, in SQL Query Analyzer, run sp_configure 'network packet size (B)' and make sure the run and config value is also 4096.

    This error indicate something is using up the mem-to-leave area. Please post again if this is not the care.

    Simon

    Simon Liew
    Microsoft Certified Master: SQL Server 2008

  • Ok. I have checked it before but that's no the case. It does use 4096 and the application uses the same size when checking with a trace.

    I also doubt that the mem-to-leave could have fragmented but not sure. Still searching for a good workaround to remove the warning.

Viewing 15 posts - 1 through 15 (of 17 total)

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