sql >> Databasteknik >  >> RDS >> Sqlserver

SQL Server frigör inte minne efter att frågan har körts

SQL Server är verkligen designad för att begära så mycket RAM som möjligt, vilket inte kommer att släppas om inte detta minne uttryckligen krävs av operativsystemet. Jag tror att det bästa tillvägagångssättet är att begränsa mängden RAM-minne som servern kan använda, vilket gör att operativsystemet kan ha en viss mängd resurser att använda oavsett vad. För att ställa in detta Hur konfigurerar du minnesalternativ med SQL Server Management Studio :

Du kan också göra det i T-SQL med följande kommandon (exempel):

exec sp_configure 'max server memory', 1024
reconfigure

För att begränsa förbrukningen till 1 GB.

Obs:ovanstående kommer inte att begränsa alla aspekter av SQL Server till den mängden minne. Detta styr bara buffertpoolen och exekveringsplanens cache. Saker som CLR, Full Text, det faktiska minnet som används av SQL Server .exe-filer, SQL Agent, utökade lagrade procedurer etc. styrs inte av den här inställningen. Men dessa andra saker behöver vanligtvis inte så mycket minne, det är buffertpoolen och exekveringsplanens cache som behöver huvuddelen av minnet.

Jag hoppas att detta hjälper.



  1. MySQL:Använder DATETIME som primärnyckel

  2. TSQL FÖR XML EXPLICIT

  3. Rekommendationer för att stödja både Oracle och SQL Server i samma ASP.NET-app med NHibernate

  4. Knee-Jerk Performance Tuning:Lägg bara till en SSD