none
Server 2012 R2 gibt Arbeitsspeicher nicht frei RRS feed

  • Frage

  • Hallo zusammen,

    ich habe folgendes Problem und hoffe ihr könnt mir helfen.

    Ich habe einen Server 2012 R2 inkl. einem SQL Server 2013 am laufen (alle Updates installiert). Seit kurzem habe ich manchmal das Problem, das der Arbeitsspeicher zu 96% ausgelastet ist, obwohl keine Prozesse am laufen sind, der MSSQL Server benötigt gerade mal 3GB. Folgende Konfiguration (sh. auch Screenshot):

    - Server 2012 R2

    - SQL Server 2013

    - 16 GB RAM

    - min/max zugewiesener RAM für SQL Server: 1024/8192

    - CPU Auslastung normal

    Vielen Dank für eure Unterstützung.

    LG

    Christoph

    PS: bitte in den richtigen Thread verschieben, hab ich leider übersehen - sorry
    Montag, 11. Mai 2015 09:23

Alle Antworten

  • - SQL Server 2013

    Hallo Christoph,

    die Version habe ich wohl verpasst, ich kenne nur 2012 und 2014; aber egal.

    Ich habe nur nicht ganz verstanden, was den nun genau das Problem ist? Es ist erst mal ganz normal, das der SQL Server einmal allokierten Arbeitsspeichern behält und erst unter OS Preasure wieder freigibt. Wenn nun auf dem Server nicht genügend Speicherplatz frei ist, kannst Du den "Max RAM" Wert noch weiter runter drehen, oder dem Server zusätzlichen Speicher hinzufügen.


    Olaf Helper

    [ Blog] [ Xing] [ MVP]

    Montag, 11. Mai 2015 09:50
  • Hallo Olaf,

    sorry, war ein Tippfehler - ist SQL Server 2012

    Das Problem dabei ist, dass es SQL Abfragen der User (SAP) lange dauern und das System sehr träge reagiert. Nach einem Neustart des Servers liegt die Auslastung des Arbeitsspeichers unter 50% und bleibt dabei auch konstant unter diesen 50%. Nur manchmal passiert es nun, dass die Auslastung so hoch ist. Wenn ich sämtliche Prozesse addiere und auch den allokierten Speicher hinzuzähle, kommt ich auf max. 11GB.

    Ich bin leider bis noch Hardwaretechnisch eingeschränkt, bekomme mein neues Datacenter erst in knapp 2 Monaten, daher kann ich den Speicher nicht erhöhen, möchte Ihn SQL seitig aber auch nicht noch weiter runter regeln.

    LG

    Christoph

    Montag, 11. Mai 2015 09:58
  • Hallo Christoph,

    Prüfe mal im Windows Server ob die Option "Sperren von Seiten im Speicher" für den SQL Server erlaubt ist.

    Sperren von Seiten im Speicher Anleitung

    Wenn es aktive ist und der SQL Server dort hinterlegt ist, kann Windows den einmal vergebenen Arbeitsspeicher nicht wieder freigeben. Ggf. können hier auch andere Prozesse eingetragen sein welche den zugewiesenen Speicher nicht wieder freigeben.

    Gruß Benjamin


    Benjamin Hoch MCSA: Microsoft Certified Solutions Associate - SQL Server 2012, MCSA: Microsoft Certified Solutions Associate - Windows Server 2012,




    Montag, 11. Mai 2015 10:03
  • Hallo Benjamin,

    Danke für den Tipp.

    Habe es gerade geprüft - hier ist nichts eingetragen und somit nicht aktiv.

    Trotzdem danke für den Hinweis.

    LG Christoph

    Montag, 11. Mai 2015 10:54
  • Moin,

    SQL, Exchange und Co gibt man keinen dynamischen Arbeitsspeicher. es sei denn die Startgröße des RAM ist identisch mit der Minimalgröße.

    Ich bin viel mobil unterwegs. Verzeiht die manchmal mangelnde Rechtschreibung. :-)

    Montag, 11. Mai 2015 11:13
  • Hallo Christoph,
    grundsätzlich ist es ja mal kein Problem, wenn der Speicher permanent belegt ist. Sobald ein anderer Prozess kommt, der den Speicher braucht, sollte er (bis zu einer gewissen Grenze) wieder freigegeben werden.

    Schau Dir auch mal diesen Thread an:
    https://social.technet.microsoft.com/Forums/de-DE/f2a99533-5a32-4ab7-9340-847c6b66caed/sql-express-engine-verwendet-6gb-ram-analysehilfe?forum=sqlserver

    Wichtig wäre auch festzustellen, wenn der Speicher allokiert wird. Falls Du die Datensammlung (Data Collection) aktiviert hast, kannst Du im Bericht zu den Server-Daten nachvollziehen, wann wie viel Speicher allokiert war.
    Evtl. fällt die Erhöhung ja mit einem Job zusammen, der Rebuild/Reorganize auf Indizes durchführt?

    Ich möchte Dir auch noch mal diesen Artikel ans Herz legen:
    http://www.insidesql.org/blogs/cmu/sql_server/optimieren-fuer-ad-hoc-arbeitsauslastungen
    Optimieren für Ad-hoc-Arbeitsauslastungen
     Einen schönen Tag noch,
    Christoph
    --
    Microsoft SQL Server MVP - http://www.insidesql.org/blogs/cmu

    Dienstag, 12. Mai 2015 06:26
    Beantworter
  • Hallo Christoph,

    Danke für die Tipps. Ich werde sobald als möglich nachforschen und weiter beobachten.

    Habe gestern den max. RAM von 8GB auf 6 reduziert - nach ca. einer Stunde wurde der Speicher freigegeben und es hat wieder alles soweit funktioniert, was auch sehr merkwürdig ist oder?

    LG, Christoph

    Dienstag, 12. Mai 2015 08:27