Poor Man's Enterprise Feature - Lock Pages in Memory

  • Comments posted to this topic are about the item Poor Man's Enterprise Feature - Lock Pages in Memory

    -------------------------------------------------
    -Amit
    Give a man a fish and he'll ask for a lemon. Teach a man to fish and he wont get paged on weekends !! :w00t: - desparately trying to fish [/size]

  • All the Microsoft links point to info about the 64-bit versions of Windows. Is this feature restricted to this platform?

    Random Technical Stuff[/url]

  • ta.bu.shi.da.yu (10/15/2009)


    All the Microsoft links point to info about the 64-bit versions of Windows. Is this feature restricted to this platform?

    No, but it tends to be most useful (and most necessary) on 64 bit.

    On 32 bit, Lock pages is required to use AWE.

    Gail Shaw
    Microsoft Certified Master: SQL Server, MVP, M.Sc (Comp Sci)
    SQL In The Wild: Discussions on DB performance with occasional diversions into recoverability

    We walk in the dark places no others will enter
    We stand on the bridge and no one may pass
  • What about SQL 2008? Is this an option there?

  • we had this when we first went to x64 and there was almost nothing on the internet to document the differences except a MSDN blog post by a Microsoft developer who now works in another department.

    we ended up enabling it and all the problems went away. Funny thing is that out of our 3 main servers we only saw the problem on one of them. even on the server that does a lot of huge batch processing we didn't see this. the problem server was tens of millions of queries daily all with different parameters and variables

  • Steve Vassallo (10/15/2009)


    What about SQL 2008? Is this an option there?

    Yes.

    SQL 2008 SP1 CU2 allows locked pages on standard edition. Good reference for this topic is the PSS Engineers' blog

    http://blogs.msdn.com/psssql/archive/2009/05/19/an-update-for-standard-sku-support-for-locked-pages.aspx

    Gail Shaw
    Microsoft Certified Master: SQL Server, MVP, M.Sc (Comp Sci)
    SQL In The Wild: Discussions on DB performance with occasional diversions into recoverability

    We walk in the dark places no others will enter
    We stand on the bridge and no one may pass
  • the definitive blog on this:

    http://blogs.msdn.com/psssql/archive/2009/09/11/fun-with-locked-pages-awe-task-manager-and-the-working-set.aspx

    which has a link to blog Gail posted..................

    last line added by edit

    ---------------------------------------------------------------------

  • according to microsoft this is supprtedin standard 32 bit edition prior to sp3cu4

    i have seen the errors you get in the log when you need to add the lock pages in mem policy to the id running sql server and adding stopped the error messages. this is for 32 biut standard edition. i am not so sure I believe any of this blog.

    Locked pages in memory operating system (OS) privilege (Allows locking physical memory, preventing OS paging of the locked memory.)4

    SQL Server Standard, Enterprise, and Developer editions: Required for SQL Server process to use AWE mechanism. Memory allocated through AWE mechanism cannot be paged out.

    Granting this privilege without enabling AWE has no effect on the server.

    http://technet.microsoft.com/en-us/library/ms187499(SQL.90).aspx

  • ta.bu.shi.da.yu (10/15/2009)


    All the Microsoft links point to info about the 64-bit versions of Windows. Is this feature restricted to this platform?

    The problem only affects 64-bit Standard Edition.

    In 32-bit Standard Edition, we could grant 'lock pages in memory' and enable AWE to lock buffer pool pages.

    In 64-bit Standard Edition, prior to SP3 CU4 (2005) or SP1 CU2 (2008), there was no way to achieve the same effect.

    This was a shocking omission by Microsoft - it is a shame it has taken them so long to correct it. Using a trace flag to enable it seems overly conservative: a trace flag to disable it would seem more sensible, but never mind.

    Not sure why anyone should regard this as more useful or necessary on 64-bit systems (which tend to have more memory, if anything) compared to 32-bit systems, but hey.

  • Heh... wouldn't a reasonable alternative be to only have SQL Server on the SQL Server box? 😉

    --Jeff Moden


    RBAR is pronounced "ree-bar" and is a "Modenism" for Row-By-Agonizing-Row.
    First step towards the paradigm shift of writing Set Based code:
    ________Stop thinking about what you want to do to a ROW... think, instead, of what you want to do to a COLUMN.

    Change is inevitable... Change for the better is not.


    Helpful Links:
    How to post code problems
    How to Post Performance Problems
    Create a Tally Function (fnTally)

  • we always install the HP management software, anti-virus, Emulex HBA Anywhere. The HP software also installs a light version of Apache or Tomcat, forget which one. a lot of people will also install SSIS and other SQL components other than the database engine as well as other database vendors' drivers

  • Jeff Moden (10/16/2009)


    Heh... wouldn't a reasonable alternative be to only have SQL Server on the SQL Server box? 😉

    Unfortunately not. I've heard of a case where SQL was the only thing installed on the box (other than OS) and and it was still getting paged out if max memory was set about about 60% of the total memory. This is a server with >16GB.

    Suspicion was a driver bug, but couldn't be sure.

    Gail Shaw
    Microsoft Certified Master: SQL Server, MVP, M.Sc (Comp Sci)
    SQL In The Wild: Discussions on DB performance with occasional diversions into recoverability

    We walk in the dark places no others will enter
    We stand on the bridge and no one may pass
  • few years ago Emulex and Windows 2003 x64 SP2 had an I/O bug and it caused one of our servers to lock up and reboot. MS released a series of hotfixes and everyone from Emulex to HP released updated drivers for HBA's and RAID controllers

  • Jeff Moden (10/16/2009)


    Heh... wouldn't a reasonable alternative be to only have SQL Server on the SQL Server box? 😉

    On the face of it, yes. And, most of the time, this will work well. However, you are then at the mercy of Window's memory manager - any sudden requests for memory from any other process are likely to result in some of SQL Server's address space being paged out. It is an inviolable law of the universe that it will occur at the most inconvenient time.

    There are many things that can cause sudden demands for memory from Windows, even if you lock the server down and carefully control who has access and what processes can run. Not being able to lock memory for SQL Server on 64-bit Standard Edition just introduced a whole new set of avoidable problems.

    Paul

  • How about Enterprise edition 64 bit?

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

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