Premiär! Fyndchans i SweClockers Månadens Drop

Sql server som äter minne

Permalänk
Medlem

Sql server som äter minne

Tja jag håller på och jobbar med en virtuell server med win2008 r2 och en SQL för ett passersystem. SQLn tar 6GB minne så tillsammans med andra program ligger servern konstant på 50% minnesanvändning(16GB totalt). Är det normalt? Kanske svårt att svara på..

Permalänk

Bara mata på...

Förlåt för jag ej kan ge vettigt svar men va tvungen att skriva det.

Permalänk
Medlem

SQL ska ha mycke minne. Ju mer desto bättre

Permalänk
Medlem
Skrivet av klantbo:

Tja jag håller på och jobbar med en virtuell server med win2008 r2 och en SQL för ett passersystem. SQLn tar 6GB minne så tillsammans med andra program ligger servern konstant på 50% minnesanvändning(16GB totalt). Är det normalt? Kanske svårt att svara på..

SQL-server tar allt minne den får.
Så för att svara på din fråga, ja, det är normalt.
Dock går det att ställa in en maxgräns, men minns inte
i huvudet var man gör det...

Visa signatur

Akashiro 0.9: Ryzen 5 7600, Radeon RX 7800XT Pure: 64/2000
https://podcasters.spotify.com/pod/show/thomaseron

Permalänk
Medlem

Ojdå, blev visst en mindre uppsats:) Det här gränsar dock till problem jag själv sprungit in i och jag hade tid att skriva av mig:)

Sql server har en egen minneshanterare och släpper inte ifrån sig tilldelat minne den en gång fått sig tilldelat av OS förrän OS specifikt ber om det. Dvs. Man förväntar sig att servern ligger på 100% minnesanvändning oavsett hur mycket minne man har.

Så hur mycket minne är tillräckligt? Beror på vilken applikationer databasen styr och hur dessas "aktiva data" (dvs data som accessas ofta) ser ut. Det finns en performance counter som heter buffer cache hit ratio och ligger den på typ 100% så läser maskinen i princip ingenting från disk. Men att den är lägre innebär inte automatiskt att maskinen är långsam eftersom minneshanteraren använder en most used-princip, så beroende på applikation, så kan 95% av alla sökningar använda 10-15% av minnet. T.ex. en web-applikation.

På frågan om att sätta minnesmängd så får du gå till properties på databasen och i en av "flikarna" där sätta mängd minne. 6GB är för närvarande det mesta möjliga minne din databas någonsin drömt om att använda, vilket antyder att du lugnt kan sätta den till ngt förnuftigt (2) och se hur det påverkar? Jag misstänker att din indata knappt kräver ngt minne och att de 6gb är sparade sökningar i loggarna som gjorts. Testa! Är det många som skall söka ofta, mer minne. Är det en person som söker, mindre minne:)

Ett par ord om virtualiserad lagring också. Sql KAN vara diskintensivt, så normalt är direkt kontroll över disken att rekommendera. Om du använder virtuella diskar, så använd fixed size. De ger i bästa fall ca 95-98% av bare metal prestanda. Dynamic size kan kosta upp till 15% performance utöver detta. Och vad du än gör, använd aldrig snapshots i produktion! Då kommer du garanterat få disk-problem. Givet att du verkar ha ett rätt litet system, så undvik iaf Dynamic disks:) MS menar att deras nya vhdx i 2012 är mycket bättre, men der tror jag på när jag ser det.

Till sist om det är normalt? Jag förväntar mig som sagt att alla mina databaser alltid skall använda allt tilldelat minne, så enda orsaken att du inte ser 100% använt RAM är för att du ännu har en liten databas...

Permalänk
Medlem

Satan vilket svar, tusen tack. Då har jag lite och prova