none
MS SQL Server 2005 SP4 - Mysteriöses schwarzes Loch verschlingt den Arbeitsspeicher RRS feed

  • Frage

  • Hallo zusammen,

    ich weiß das der SQL Server 2005 bereits zum alten Eisen gehört und wir auch schon in den Startlöchern für einen neuen SQL Server stehen, aber ich habe da ein Problem auf einem SQL Server 2005 das ich mir einfach nicht erklären kann.

    Vielleicht hat jemand ja schonmal ein ähnliches Phänomen gehabt oder hat noch eine IDee wie man der Ursache auf die Spur kommen könnte.

    Umgebung:

    • MS SQL Server 2005 SP4 auf einem unter VMWare 5 virtualisierten Windows Server 2008 Enterprise SP1 x64
    • 4 x 2.27 GHz Xenon E5520 Prozessoren (4 Sockets mit je einem Kern ) //  24 GB RAM // Diverse Festplatten für das OS, die Datenbanken, die  Transaktionslogs und 24 GB Laufwerk für die Auslagerungsdatei.
    • Eine Instanz mit insg. 7 Datenbanken. ( Grösste DB: 46 GB (1x) ,  durchschnittliche Größe der anderen DBs: 1,5 GB (6x)
    • Zusätzliche Dienste auf dem Server: Analysis Server, Integration Service, Reporting Service, VSS Writer, Server-Agent, Server-Browser und Volltextsuche. (Kein Virenscanner oder sonstige Scanner)
    • Zugreifende (einzige) Applikation ist: Navision

    Problem:

    Der gesamte verfügbare Arbeitsspeicher ( 24 GB ) ist immer zu 99% ausgelastet. Das führt zu exesivem Swapping, welches sich, wie Ihr villeicht schon ahnt, massiv auf die  Performance niederschlägt.

    Das merkwürdige daran ist das der SQL Server effektiv sichtbar nur 11,5 GB Speicher beansprucht!

    Alle anderen Dienste beanspruchen sichtbar nur ~1,5 GB ( zusammengerechnet aus den 54 laufenden Prozessen )

    Es fehlen uns insg 11 GB RAM und wir sehen nicht welcher Prozess diesen Speicher beansprucht / blockt / frisst / heimlich verkauft....

    Ursachenforschung:

    Durch die Optionen minservermemory/maxservermemory welche wir auf aktuell auf 10GB und 20GB gestellt haben können wir diesen Effekt nicht beeinflussen. (Diverse Konfigurationen wurden hier bereits ausprobiert.)

    AWE und Lock Pages in Memory fallen natürlich auch weg, da es sich hier um ein(en) 64 Bit Betriebsystem / SQL Server handelt.

    Die anderen SQL Dienste wurden ebenfalls schon alle einmal komplett deaktiviert was nicht zur Freigabe des Speichers geführt hat.

    NUR die das Abschalten des SQL Server Dienstes führt dazu das der Speicher nach ca. 10 Minuten in 200-300 MB Schritten freigegebn wird bis am Ende nur noch die ~ 1 GB für das Betriebsystem überbleiben. 

    Fazit und Frage an die Community: 

    Es ist also klar das der Speicher wundersam und mysteriös durch den SQL Server belegt wird.

    1. Warum sehe ich diese Nutzung nicht im TaskManager oder im RessourcenManager?

    2. Welcher Prozess / welche Option nutzt so unkontrolliert und massiv den Arbeitsspeicher?

    3. Warum greift hier die Option maxservermemory nicht?

    Vielleicht gibt es ja jemanden da draussen der das Geheimnis lüften kann.

    Unserem Systemhaus und mir gehen langsam leider die Ideen aus :-)

    Schönen Gruß,

    Richard

    Donnerstag, 28. Februar 2013 13:38

Antworten

Alle Antworten

  • Hallo Richard,

    evtl. gibt euch der Process Explorer bzw. RamMAP von SysInternals die benötigten Infos.

      http://technet.microsoft.com/de-de/sysinternals/bb896653.aspx

      http://technet.microsoft.com/de-de/sysinternals/ff700229


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community



    Donnerstag, 28. Februar 2013 14:00
    Moderator
  • Hallo Stefan,

    mit dem ProcessExplorer habe ich mich auch schon erfolglos rumgeschlagen, aber RamMAP war ein Volltreffer!

    Dieses Tool war mir bisher völlig unbekannt.

    Und siehe da: RamMap zeigt mir an das 12 GB  von "Driver Locked" belegt sind.

    Prompt habe ich auch diverse Threads und Foren zum Thema Windows Server 2008 und VMWare zu dem Thema gefunden, die werde ich jetzt alle mal durcharbeiten und mich mit dem Ergenis melden.

    Vielen Dank für den Tipp, Stefan, der war Gold wert! :-)

    Gruß,

    Richard

    Donnerstag, 28. Februar 2013 16:53
  • Stefan,

    du siehst mich hier gerade auf Knien deinen Post anbeten!

    Die Lösung war so simpel wie erschreckend!

    In den VMWare Settings war eine 12 GB Resevervierung hinterlegt, der den Speicher nach dem Systemstart vom Betriebsystem einfach geblockt hat.

    Da wir diese Option nicht nutzen, nie genutzt haben und es auch keinen Grund gibt das wir diese Option nutzen ist natürlich niemand auf die IDee gekommen dort nachzusehen.

    Durch RamMAP wurde dies erst sichtbar!

    Tausend Dank, Stefan !!!! :-)

    Donnerstag, 28. Februar 2013 17:26
  • Hallo Richard,

    es freut mich, dass ich dir helfen konnte :)

    Und was mich noch mehr freut ist, dass es nicht am SQL Server gelegen hat. Denn wenn das wirklich so gewesen wäre, hätte man sich ernsthaft Gedanken machen müssen.


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community

    Donnerstag, 28. Februar 2013 17:56
    Moderator