SQL server become unresponsive

  • Hi,

    Since a few weeks, our SQL server (2005 64 bits Standard Edition running on Windows 2003 DataCenter) has some issues performance wise. A few times a weeks the dataserver become very slow even unresponsive. I found in the event log the following entry:

    A significant part of sql server process memory has been paged out. This may result in a performance degradation. Duration: 14419 seconds. Working set (KB): 47888, committed (KB): 161528, memory utilization: 29%%.

    Since we are using the standard edition, we can’t use the Lock pages in memory user right. I have no idea what to do next. Can someone has a good workaround?

    Rem

  • There is a great post on your problem exactly here - http://weblogs.asp.net/omarzabir/archive/2007/10/19/a-significant-part-of-sql-server-process-memory-has-been-paged-out-this-may-result-in-performance-degradation.aspx

    Please reply and comment as to whether it was useful and fit your situation. There are several links there to MS articles as well so, be sure to check them out as part of your TS.

    David

    @SQLTentmaker

    “He is no fool who gives what he cannot keep to gain that which he cannot lose” - Jim Elliot

  • How much memory on the server? What's SQL's max memory set to? Are there other apps on the server?

    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
  • Currently the server had 16GB of memory and 8gb are assigned (as min & max) to SQL server. As of now, there is no other application running in the server.

    This is a fresh installation on a new hardware. I found this a bit scary.

    Rem

  • Is the min and max memory set to the same value? If so, please change that, there's a problem whereby if they are identical then some of SQL's memory management abilities are unavailable. If max is 8GB, set the min to 7.

    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
  • Rem,

    Can you post sqlserver version info (sp/cu) ?

    Gail,

    Do you have a kb ref for the min = max memory config problem ?

    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

  • I don't. It was mentioned in a presentation. I'll see if I can find a ref for you.

    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 hardware has 8 CPU (Hyper-Threading). CPUs 0 to 5 are Processors Affinity while 6 to 15 are I/O Affinity (because I was seeing entry like this on e in the log "The time stamp counter of CPU on scheduler id 14 is not synchronized with other CPUs")

    Is it OK to have the HT setup for a SQL server? I saw somewhere that it is not recommended, is it right?

    I have set the max memory at 8gb for the SQL and the min to 0 (as mentioned above).

  • Forgot to add the version...

    Microsoft SQL Server 2005 - 9.00.3042.00 (X64) Feb 10 2007 00:59:02 Copyright (c) 1988-2005 Microsoft Corporation Standard Edition (64-bit) on Windows NT 5.2 (Build 3790: Service Pack 1)

  • To the best of my knowledge, Hyperthreading is not recommended for SQL Server.

    [font="Times New Roman"]-- RBarryYoung[/font], [font="Times New Roman"] (302)375-0451[/font] blog: MovingSQL.com, Twitter: @RBarryYoung[font="Arial Black"]
    Proactive Performance Solutions, Inc.
    [/font]
    [font="Verdana"] "Performance is our middle name."[/font]

  • rbarryyoung (9/3/2008)


    To the best of my knowledge, Hyperthreading is not recommended for SQL Server.

    It's not. SQL 2005 handles it better than SQL 2000 did, but still... Can lead to random, out-of-the-blue slow performance because SQL assumes that all of its processors are independent (what runs on one doesn't affect something running on another). That's not true for the virtual cores. Also, the two virtual cores share and may contend for the L1 and L2 cache.

    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
  • By setting Processors Affinity & I/O Affinity, Am I OK, or I should totally disable HT?

  • This may be useful:

    http://blogs.technet.com/askperf/archive/2008/03/25/lock-pages-in-memory-do-you-really-need-it.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
  • ALZDBA (9/3/2008)


    Gail,

    Do you have a kb ref for the min = max memory config problem ?

    How about books online:

    Optimizing Server Performance Using Memory Configuration Options


    Do not set min server memory and max server memory server configuration options to the same value, thereby fixing the amount of memory allocated to SQL Server. Dynamic memory allocation gives you the best overall performance over time. For more information, see Server Memory Options.

    It doesn't go into any details why. What I recall from the presentation is that when they are set to the same value, it disables some of SQL's memory management features. Since, in that config, SQL cannot release any memory to the OS, it's more likely to either get paged out (if locked pages isbn't enabled) or to cause low memory conditions on the server (if locked pages is enabled)

    It's not so much a bug in SQL, more that setting them the same may have unforseen and unwanted consequences

    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
  • Rem (9/3/2008)


    By setting Processors Affinity & I/O Affinity, Am I OK, or I should totally disable HT?

    You should disable it completely, if you can. If not, then a workaround is to ensure that SQL's only using 1 of the virtual cores on each processor. So you would have your affinities set so that SQL can only use say processors 0,2,4,6. The odd numbered cores shouldn't be used by SQL at all (for queries or for IO)

    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

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

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