Jump to content

Recommended Posts

Hallo zusammen,

 

wir haben seit Wochen ein ziemlich merkwürdiges Phänomen. Einer unserer SQL-Server hat scheinbar irgendwie ein Problem mit der Arbeitsspeicherverwaltung.

Im PRTG wird der Server regelmäßig "kritisch". Wir müssen den Server außerdem sehr oft neu starten, weil der Arbeitsspeicher "volläuft". Im SQL-Server ist der Arbeitsspeicher schon reglementiert.

 

Folgender Screenshot:

eUtx1Ku.png

 

Wie zu sehen ist, hat der SQL-Server 42,4MB in Verwendung (what?!). Die Prozesse sind nach Verwendung sortiert. Der Server hat 8GB Arbeitsspeicher, es sollen demnach 27% verbraucht sein, was in der Realität ja auch Sinn macht.

Ich vermute, dass hier das Problem steckt. Ich finde jedoch keine offiziellen Bugs oder ähnliches. Habt ihr sowas schon mal gesehen?

 

Grüße!

Share this post


Link to post
Share on other sites

Hi und willkommen im Forum.

 

Kannst du uns noch weitere Details liefern?

 - Welche genaue Windows Server Version und Edition ist im Einsatz?

 - Welche genaue SQL Server (Version) und Edition ist installiert?

 - Laufen noch weitere Sachen auf diesen Server oder ist dieser exkl. ein SQL-Server?

 

Ist Windows und der SQL-Server auf dem aktuellen Stand (Updates)?

 

Gruß Sebastian

 

BTW: 8 GB für einen SQL- bzw. DB-Server ist nicht unbedingt viel, kommt jedoch auf die Anwendung bzw. auf die DB an.

Share this post


Link to post
Share on other sites

Den RAM im SQL Server zu begrenzen ist auch keine gute Idee, da bleibt der nämlich bei erreichen der Grenze unter Umständen einfach stehen und macht nix mehr .........

 

DB Server, also Exchange und SQL brauchen eines in rauen Mengen, RAM. Einen Monitor da auf den RAM zu legen ist meiner Ansicht nach völlig sinnfrei, denn ein DB Server macht so ziemlich als eine der wenigen Anwendungen mit dem RAM das was vorgesehen ist , nämlich verwenden und nicht unnütz in der Gegend liegen lassen. Freier RAM ist eigentlich nur Stromverschwendung auch wenn das viele immer noch nicht glauben wollen und auf die Mythen des schnelleren Systems bei viel freiem RAM vertrauen.

 

Grüsse

 

Gulp

Edited by Gulp
Typo Korrektur

Share this post


Link to post
Share on other sites
vor 8 Minuten schrieb Gulp:

Mythen des schnelleren Systems bei viel freiem RAM vertrauen.

Naja is wie mit PS, lieber haben als brauchen. ;)

Share this post


Link to post
Share on other sites

Hat jedoch alles nix mit dem eigentlichen Thema zu tun. ;-)

Die Begrenzung wurde aufgrund des oben geschilderten Problems auf das System gelegt. Testweise sozusagen. Und einen Sensor der die Auslastung beobachtet und bei 100% eine Warnung raus schmeißt halte ich auch nicht für völlig sinnfrei. 

Zurück zum Thema...

 

Server 2012 R2 Version 6.3 (Build 9600) aktuelle CUs sind installiert.

 

Der SQL-Server spielt bei dem Problem eher eine untergeordnete Rolle, könnte auch etwas anderes sein, was das System auslastet. Deshalb sind auch die SQL-Server Versionen nicht relevant.

Es geht mit hier vielmehr um den Screenshot. Ich könnte mir vorstellen, dass der Server das RAM-Management nicht mehr ordentlich hinbekommt und deshalb auch die Abstürze zustandekommen. 

 

Das System ist eine VM, andere VMs auf dem selben Hypervisor haben keine Probleme. Sorry, habe ich vergessen zu erwähnen.

Edited by ChrisRu90

Share this post


Link to post
Share on other sites

Moin,

 

Anhand deiner bisherigen Angaben bisher waren aus meiner Sicht alle Hinweise berechtigt und zielführend. Schließlich stocherst du ja selbst im Nebel.

 

Was könnte denn sonst auf dem System für die Last sorgen? Leg mal die Karten auf den Tisch, wenn wir sie interpretieren sollen.

 

Testweise eine weitere VM installieren und diese beobachten? Nur OS und SQL Server drauf? Das würde ich vermutlich jetzt tun.

 

Gruß, Nils

Edited by NilsK

Share this post


Link to post
Share on other sites

Folgende Fehlermeldung aus dem Eventlog:

Zitat

Windows hat diagnostiziert, dass der virtuelle Speicher unzureichend ist. Die folgenden Programme belegten den meisten virtuellen Speicher: sqlservr.exe (1336) belegt 295591936 Bytes, ServerManager.exe (3200) belegt 95879168 Bytes und explorer.exe (1068) belegt 61476864 Bytes.

Ich hatte bei Borncity vor einigen Wochen mal dasselbe Problem gefunden. 

https://www.borncity.com/blog/2018/08/12/windows-fehler-nicht-gengend-virtueller-speicher-7-2018/

 

Ich werde den morgigen Tag noch einmal abwarten und dann noch mal ein Screenshot des Perfmons hier posten, wenn das Problem wieder auftritt. Vielleicht fällt euch dazu noch etwas ein.

 

So sieht es zumindest im ordentlichen Betrieb aus:

rHcoGU2.png

Edited by ChrisRu90

Share this post


Link to post
Share on other sites

Nur mal so:

 

- Es gibt keinen "Speicherverbauch" höchstens eine Speicherverwendung - ja ich weiss, manche nenne das Erbsenzählerei, ist aber so, der Speicher wird eben nicht verbraucht, sondern höchstens verwendet.

- Windows hat eine Speicherverwaltung, die funktioniert ganz ausgezeichnet, in der Regel dann, wenn man selbst nichts daran herumkonfiguriert.

- DB Server benötigen schonmal mehr RAM, das kann extrem dynamisch sein und ist schwer abhängig von der Datenmenge uind der Verwendung/Abfrage der Daten.

 

Hier muss man sich zunächst die Fragen stellen:

 

- Wie ist der virtuelle Speicher konfiguriert?

Ich würde vermuten, auf einen festen Wert gestellt und nicht dynamisch von Windows verwaltet.

 

- Wieviel freien Speicherplatz gibt es auf der HDD?

 

- Wie ist die HDD der VM konfiguriert? Dynamische Größenanderung, fest allokiert?

 

Das dürfte letztlich kein SQL Problem, sondern eher ein suboptimal konfiguriertes OS als Ursache haben.

 

Grüsse

 

Gulp

 

Edited by Gulp
Typo

Share this post


Link to post
Share on other sites

Stimmt natürlich, Speicherverwendung. :-)

 

Der virtuelle Speicher ist dynamisch und wird von Windows verwaltet. Das System hat eine out-of-the-box Konfiguration mit einem SQL-Server. Herumgespielt wurde daran nie.

Freien Speicher gibt's auch genügend für die Anforderungen des Systems (121GB). Die HDD in der VM ist eine HDD mit einer festen Größe. Wie bei allen anderen Systemen auch.

 

Bisher hat sich das Problem noch nicht wieder gezeigt. Ich werde aber berichten. Wenn zwischenzeitlich noch jemand eine Idee hat, immer her damit. :-)

Share this post


Link to post
Share on other sites
vor 13 Minuten schrieb ChrisRu90:

Der virtuelle Speicher ist dynamisch und wird von Windows verwaltet.

Einer VM dynamischen RAM zuzuweisen ist weit weg von Best Practice - vor allem, wenn ein SQL drauf läuft.

 

Habe den Link zu der Seite von Carsten gerade nicht parat..

 

:-)

Share this post


Link to post
Share on other sites
6 minutes ago, Nobbyaushb said:

Einer VM dynamischen RAM zuzuweisen ist weit weg von Best Practice - vor allem, wenn ein SQL drauf läuft.

Außer mit der Enterprise Version.

Share this post


Link to post
Share on other sites

Moin,

 

vor 26 Minuten schrieb Nobbyaushb:

Einer VM dynamischen RAM zuzuweisen ist weit weg von Best Practice - vor allem, wenn ein SQL drauf läuft.

ganz so einfach ist es nicht. Für bestimmte Szenarien ist Dynamic Memory (was du, Norbert, hier vermutlich meinst) zulässig und auch empfohlen. Allerdings muss man immer genau hinsehen - Recht hast du in Bezug auf den SQL Server, da ist es zumindest nicht Best Practice, sondern wäre nur in ganz bestimmten Situationen sinnvoll. Dann aber müsste, wie Dukel richtig anmerkt, auch die Enterprise Edition des SQL Servers laufen.

 

Der Hinweis von Gulp hingegen dürfte auf einer anderen Ebene spielen, nämlich innerhalb des VM-Gastbetriebssystems. Dort wird der "virtuelle Speicher" verwaltet, den das OS wirklich nutzt. Dieser Hinweis ist gut, das wäre also auch zu prüfen.

 

Insgesamt könnte das eine heiße Spur sein: Sowohl unpassendes Dynamic Memory als auch eine ungünstige Konfiguration des virtuellen Speichers können sich sehr negativ auswirken.

 

Edit: OK, nach der jüngsten Antwort des TO dürfte sich das erübrigt haben. Ich lass es hier trotzdem stehen.

 

Gruß, Nils

 

Edited by NilsK
Überschneidung mit TO-Antwort

Share this post


Link to post
Share on other sites
vor 2 Stunden schrieb NilsK:

Edit: OK, nach der jüngsten Antwort des TO dürfte sich das erübrigt haben. Ich lass es hier trotzdem stehen.

Nils, hattes du nicht mal einen tollen Beitrag geschrieben was passiert, wenn eine VM mehr Plattenplatz adressiert als physisch vorhanden?

 

Ich habe immer feste Zuweisung sowohl vom RAM als auch und vor allem bei virtuellen Platten (VHDX, da ich Hyper-V verwende)

RAM dynamisch zuzuweisen macht in bestimmten Konfigurationen Sinn, bei meinen eher nicht... - daher kann man das nicht verallgemeinern

 

An den TO - virtueller Speicher kann man auf verschiedene Weise interpretieren, wie du gerade merkst.

 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


Werbepartner:



×
×
  • Create New...