Mam instalację piaskownicy programu SQL Server na moim komputerze lokalnym. Ustawiłem pamięć wystąpienia SQL Server wystąpienie do 1000 mb. Podczas intensywnej operacji zużycie pamięci wzrasta do 1000 mb. Po zakończeniu operacji SQL Server nadal utrzymuje pamięć. Jak zwolnić tę rezerwację pamięci?
sql-server
memory
jrara
źródło
źródło
min server memory
imax server memory
ustawienia ? Gdy SQL Server zarezerwuje określone minimum, nigdy go nie zwolni, chyba że zmienisz ustawienie lub odrzucisz instancję. Jak zauważył James, jeśli rezerwy przekraczają określone przez ciebie minimum, teoretycznie powinny one zostać zwolnione, gdy nie będą potrzebne i na maszynie będzie presja pamięci.Odpowiedzi:
Zatrzymaj / uruchom usługę, nic więcej nie zwolni pamięci z powrotem do systemu operacyjnego.
Oczywiście nie jest to coś, co kiedykolwiek chciałbyś zrobić z działającym serwerem, ale całkowicie uzasadnione dla lokalnego piaskownicy. Z 3 różnymi instancjami na moim laptopie, jest to jedyny realny sposób.
Edytuj następujący komentarz @ Nicka.
Jaka jest twoja definicja „nie potrzebuje tego”? Gdy pula buforów zostanie zapełniona, strony nie zostaną usunięte, dopóki nie zostaną zniechęcone przez inne strony. Jeśli chcesz natychmiast przywrócić pamięć, tak jak w przypadku @jrara, musisz przestać /początek.
źródło
QueryMemoryResourceNotification
aby ustalić, kiedy pula buforów może przydzielić pamięć i zwolnić pamięć”. Jeśli więc martwisz się głodowaniem innych aplikacji, które mogą potrzebować więcej pamięci, SQL Server teoretycznie zwolni pamięć, której nie potrzebuje, gdy system Windows tak nakazuje. Jedynym powodem, dla którego należy wymusić zwolnienie poprzez ponowne uruchomienie instancji, jest to, że ten mechanizm nie działa zgodnie z przeznaczeniem lub ustawienia pamięci min / maks są nieprawidłowe.uwolni basen.
https://msdn.microsoft.com/en-us/library/ms178529.aspx
Uwagi
Wykonanie DBCC FREESYSTEMCACHE czyści pamięć podręczną planu dla instancji SQL Server. Wyczyszczenie pamięci podręcznej planu powoduje rekompilację wszystkich kolejnych planów wykonania i może spowodować nagły, tymczasowy spadek wydajności zapytania. Dla każdego wyczyszczonego magazynu pamięci podręcznej w pamięci podręcznej planu dziennik błędów programu SQL Server będzie zawierał następujący komunikat informacyjny: „Program SQL Server napotkał% d wystąpienia pamięci podręcznej pamięci podręcznej dla pamięci podręcznej„% s ”(część pamięci podręcznej planu) z powodu Operacje „DBCC FREEPROCCACHE” lub „DBCC FREESYSTEMCACHE”. ” Ta wiadomość jest rejestrowana co pięć minut, o ile pamięć podręczna jest opróżniana w tym przedziale czasu.
źródło
Porzuci pamięć, której nie używa automatycznie, ponieważ inne aplikacje próbują ją zatwierdzić.
źródło