Opcje pamięci serwera

Use the two server memory options, min server memory and max server memory, to reconfigure the amount of memory (in megabytes) in the buffer pool used by an instance of Microsoft SQL Server.

Domyślnie SQL Server można zmienić jego wymagania dotyczące pamięci dynamicznie oparte na systemie dostępne zasoby.Ustawieniem domyślnym dla pamięć serwera min jest 0 i ustawienie domyślne dla Maksymalna pamięć to 2147483647.Minimalna ilość pamięci, można określić dla Maksymalna pamięć wynosi 16 megabajtów (MB).

Ostrzeżenie

Ustawienie memor serwera maxy na wartość minimalną poważnie zmniejszyć SQL Server wydajności i nawet uniemożliwić jego uruchomienie.Nie można uruchomić SQL Server po zmianie tej opcji, należy uruchomić go za pomocą –f opcji uruchomienia i resetowania Maksymalna pamięć poprzednią wartość.Aby uzyskać więcej informacji, zobacz Za pomocą SQL Server opcje uruchamiania usługi.

Gdy SQL Server jest dynamicznie przy użyciu pamięci, wysyła kwerendę systemu okresowo, aby określić ilość wolnej pamięci fizycznej.Under Microsoft Windows 2000, SQL Server grows or shrinks the buffer cache to keep free physical memory between 4 MB and 10 MB depending on server activity.Uniemożliwia utrzymanie tej pamięci Windows 2000 z pliku stronicowania.Jeżeli jest mniej pamięci, wolny, SQL Server zwalnia pamięć do Windows 2000.If there is more memory free, SQL Server allocates memory to the buffer pool.SQL Server adds memory to the buffer pool only when its workload requires more memory; a server at rest does not increase the size of its buffer pool.

W obszarze Windows Server 2003, SQL Server używa pamięci powiadomienie API QueryMemoryResourcepowiadomienie do określenia, kiedy pula buforów może przydzielić pamięci i zwolnić pamięć.

Zezwalanie SQL Server do używania pamięci dynamicznie zaleca się; można jednak zestaw pamięci opcji ręcznie i ograniczyć ilość pamięci, która SQL Server można dostępu.Przed ustawieniem ilość pamięci dla SQL Server, określić zestaw odpowiedniej ilości pamięci przez odjęcie od całkowitej pamięci fizycznej pamięci wymaganej dla Windows 2000 lub Windows Server 2003 i wszystkie inne wystąpienia SQL Server (i innych zastosowań systemu, jeśli komputer nie jest całkowicie przeznaczonym do SQL Server).Ta różnica jest maksymalna ilość pamięci, można przypisać do SQL Server.

Ustawianie opcji pamięci ręcznie

Istnieją dwie główne metody ustawienie SQL Server pamięci ręcznie opcje:

  • W przypadku pierwszej metody zestaw pamięć serwera min i Maksymalna pamięć na tę samą wartość.Wartość ta odpowiada kwocie pamięci, aby przydzielić do SQL Server pula buforów po osiągnięciu wartości.

  • W drugiej metodzie zestaw pamięć serwera min i Maksymalna pamięć do zakresu zakres wartości pamięci.Ta metoda jest przydatna, gdy Administratorzy systemu lub bazy danych chcesz skonfigurować wystąpienie SQL Server w połączeniu z wymagania pamięci innych aplikacji, które działają na tym samym komputerze.

Use min server memory to guarantee a minimum amount of memory available to the buffer pool of an instance of SQL Server.SQL Server will not immediately allocate the amount of memory specified in min server memory on startup.Jednakże, po osiągnięciu tej wartości z powodu obciążenia klient użycia pamięci SQL Server nie można zwolnić pamięci z przydzielonego pula buforów chyba że wartość pamięć serwera min jest ograniczona.

Ostrzeżenie

SQL Servernie jest gwarantowane przydzielić ilość pamięci określoną w pamięć serwera min.Jeśli obciążenie serwera wymaga nigdy, przydzielanie pamięci określony w pamięć serwera min, SQL Server będą uruchamiane z mniej pamięci.

Use max server memory to prevent the SQL Server buffer pool from using more than the specified amount of memory, thus leaving remaining memory available to start other applications quickly.SQL Server does not immediately allocate the memory specified in max server memory on startup.Memory usage is increased as needed by SQL Server until reaching the value specified in max server memory.SQL Server cannot exceed this memory usage unless the value of max server memory is raised.

Przed redukcją Maksymalna pamięć wartość, aby zbadać za pomocą Monitora wydajności Menedżera SQLServer:Buffer wydajności obiektu pod obciążeniem i zanotuj bieżące wartości strony Stolen i zarezerwowane stron liczników.These counters report memory as the number of 8K pages.max server memory should be set above the sum of these two values to avoid out-of-memory errors.Przybliżona wartość dla najniższego uzasadnione Maksymalna pamięć jest ustawienie (w MB) (strony Stolen] +zarezerwowane stron) / 100.Aby zmniejszyć Maksymalna pamięć należy ponownie uruchomić SQL Server , aby zwolnić pamięć. Aby uzyskać informacje dotyczące sposobu zestaw opcje pamięci, zobacz Jak Ustawić stałą wielkość pamięci (SQL Server Management Studio).

Maksymalizuj przepływność danych dla aplikacji sieciowych

Aby zoptymalizować wykorzystanie pamięci systemu dla SQL Server, należy ograniczyć ilość pamięci używanej przez system dla pliku buforowania.Aby ograniczyć pamięć podręczna systemu plików, upewnij się, że Maksymalizuj przepływność danych podczas współużytkowania plików nie jest zaznaczone.Można określić najmniejsze pamięci podręcznej systemu plików, wybierając Minimalizuj zużycie pamięci lub Saldo.

Aby sprawdzić bieżące ustawienie w systemie operacyjnym

  1. Kliknij Start, następnie kliknij przycisk Panelu sterowania, kliknij dwukrotnie Połączenia sieciowe, a następnie kliknij dwukrotnie Połączenie lokalne.

  2. Na Ogólne , kliknij pozycję Właściwości, wybierz opcję plików i drukarek udostępnianie sieci Microsoft, a następnie kliknij przycisk Właściwości.

  3. Jeśli Maksymalizuj przepływność danych dla aplikacji sieciowych jest zaznaczone, wybierz inną opcję, kliknij OK, a następnie zamknij pozostałych oknach dialogowych.

AWE pamięci w systemie Windows Server 2003

W obszarze Windows Server 2003, SQL Server można użyć pamięci Address Windowing Extensions (AWE), aby dalej pomagać w swoje własne wymagania dotyczące pamięci z tych systemów operacyjnych równoważenia obciążeniaTo równoważenia między SQL Server i system operacyjny jest przedmiotem ograniczeń pamięć serwera min i Maksymalna pamięć opcje.Jeśli sprzęt serwera obsługuje dodawanie gorącej pamięci, dodatkowej pamięci fizycznej można dodać do serwera jako niezbędne bez konieczności ponownego uruchomienia komputera.Więcej informacji o włączone awe opcji konfiguracja, zobacz AWE włączona opcja.Aby uzyskać więcej informacji, zobacz Dodawanie pamięci na gorąco.

Ostrzeżenie

W obszarze Windows Server 2003, pamięci dynamicznej AWE jest obsługiwane na serwerach z fizycznej mniej pamięci niż limit skonfigurowaną pamięć wirtualną.Windows 2000 wymaga, że dostępnej pamięci fizycznej przekracza pamięci wirtualnej, aby włączyć AWE pamięci.

Najlepiej, przydzielić możliwie jak najwięcej pamięci SQL Server bez powodowania system wymiany stron na dysku.Próg zależy od systemu.Na przykład systemie 32 gigabajtów (GB) wyłącznie SQL Server, 30 i 31 GB mogą być odpowiedni próg maksymalną dla SQL Server; w systemie 64 GB 60 62 GB może być właściwych progów.

Ostrzeżenie

Jak zwiększyć ilość SQL Server pamięci zapewnić wystarczającą ilością wolnego miejsca, aby rozwinąć pliku obsługi pamięci wirtualnej systemu operacyjnego (Pagefile.sys), aby uwzględnić dodatkowe pamięci.Aby uzyskać więcej informacji o pliku obsługi pamięci wirtualnej, zobacz Windows 2000 lub Windows Server 2003 dokumentacji.

Statystyka Monitora systemu Windows umożliwia pomóc dopasować wartość pamięci, jeśli to konieczne.Wartość tę można zmienić tylko wtedy, gdy Dodawanie lub usuwanie pamięci lub po zmianie sposobu korzystania z systemu.

Menedżer pamięci wirtualnej

32-Bitowych systemów operacyjnych, takich jak Windows 2000 i Windows Server 2003 dostęp do 4 gigabajtów (GB) miejsca na adres wirtualny.Niższe 2 GB pamięci wirtualnej jest prywatne na proces i dostępne dla aplikacji.Górna 2 GB jest zarezerwowana do użytku systemu operacyjnego.All operating system editions, starting with Microsoft Windows XP Professional and later, including Windows Server 2003, include a boot.ini switch that can provide applications with access to 3 GB of virtual memory, limiting the operating system to 1 GB.Aby uzyskać więcej informacji na temat używania 3 GB przełącznik konfiguracja pamięci, zobacz dokumentację systemu Windows.

Ostrzeżenie

W Windows Server 2003, PAE automatycznie jest włączone tylko wtedy, gdy serwer używa typu hot Dodawanie urządzenia pamięci.W tym przypadek nie trzeba użyć przełącznika/PAE w systemie, który jest skonfigurowany do używania urządzenia pamięci typu hot Dodaj.We wszystkich innych przypadkach należy użyć przełącznika/PAE w pliku Boot.ini, aby skorzystać z ponad 4 GB pamięci.

Obszar adresów 4 GB jest mapowany do dostępnej pamięci fizycznej przez Menedżera pamięci wirtualnej systemu Windows (VMM).Ilość pamięci fizycznej, obsługiwane zwiększył się z wprowadzeniem Windows Server 2003 systemów operacyjnych.Pamięci fizycznej dostępnej przez AWE dlatego zależy od używanego systemu operacyjnego:

  • Windows Server 2003Standard Edition obsługuje pamięci fizycznej do 4 GB.

  • Windows Server 2003Enterprise Edition obsługuje fizycznej pamięci do 32 GB.

  • Windows Server 2003Datacenter Edition obsługuje fizycznej pamięci do 64 GB.

Aplikacją systemu Win32, takie jak SQL Server uświadamia sobie tylko wirtualny lub logicznych adresów nie fizycznych adresów.Ilość pamięci fizycznej, gdy aplikacja używa w danym czas (zestaw roboczy) zależy od dostępnej pamięci fizycznej i VMM.Aplikacja nie może sterować rezydentem pamięci bezpośrednio.

Windows 2000 Advanced Server i Windows 2000 Datacenter Server oraz Windows Server 2003, Enterprise Server i Windows Server 2003, Datacenter Server 32-bitowe wersje mają zdolność przekracza limit 4 GB za pomocą programu Intel fizycznego adresowania rozszerzenia (PAE).Korzystanie z /PAE przełącznika w pliku boot.ini systemu Windows plik konfiguracja zapewnia dostęp do pamięci fizycznej powyżej granicy 4 GB.Jest to wymagane dla dostępu do pamięci AWE powyżej 4 GB.Aby uzyskać więcej informacji na temat używania tej konfiguracja pamięci dla Windows 2000 i Windows Server 2003, zobacz dokumentację systemu Windows.

Wirtualny adres systemy, takie jak Windows 2000 lub Windows Server 2003 zezwolić na nadmierne zobowiązania pamięci fizycznej, tak, aby stosunek wirtualnej pamięci fizycznej może przekroczyć 1:1.W wyniku większych programów można uruchamiać na komputerach z różnymi konfiguracjami pamięci fizycznej.Jednak użycie znacznie więcej pamięci wirtualnej, niż średnia Scalonej zestawów roboczych wszystkie procesy mogą być przyczyną niskiej wydajności.

Pamięć serwera min i Maksymalna pamięć opcje są opcje zaawansowane.Jeśli używasz sp_configure systemowa procedura składowana Aby zmienić te ustawienia, można je zmieniać tylko wtedy, gdy Pokaż opcje zaawansowane jest ustawiona na 1.Ustawienia te zaczynają obowiązywać natychmiast, bez ponownego uruchamiania serwera.

Działa kilka wystąpień programu SQL Server

Gdy uruchomionych wiele wystąpień Aparat baz danych, istnieją trzy metody można używać do zarządzania pamięci:

  • Użyj Maksymalna pamięć do kontroli użycia pamięci.Ustanawia ustawienia maksymalne dla każdego wystąpienie, uważając, że całkowita dodatek nie jest większa niż całkowita pamięć fizyczna na tym komputerze.Można nadać każde wystąpienie pamięci proporcjonalne do oczekiwanego obciążenia jego rozmiar bazy danych.Takie podejście ma tę zaletę, że podczas nowych procesów lub wystąpień uruchomienia, wolnej pamięci będzie dostępny do nich natychmiast.Wadą jest to, że jeśli nie używasz wszystkich wystąpień, żaden z uruchomionych wystąpień będzie można korzystać z pozostałych wolnej pamięci.

  • Użyj pamięć serwera min do kontroli użycia pamięci.Należy ustanowić minimalne ustawienia dla każdego wystąpienie, tak, aby suma te wymagania jest mniejsza niż całkowita pamięć fizyczna na komputerze 1-2 GB.Może ponownie ustanowić te wymagania, proporcjonalnie do spodziewane obciążenie to wystąpienie.Takie podejście ma tę zaletę, że jeśli nie wszystkie wystąpienia są uruchomione w tym samym czas, te, które są uruchomione, można użyć pozostała ilość wolnej pamięci.To podejście jest również przydatne, gdy istnieje inny proces dużej ilości pamięci na komputerze, ponieważ czy ubezpieczenie, SQL Server co najmniej otrzyma rozsądną kwotę pamięci.Wadą jest to, kiedy uruchamia nowe wystąpienie (lub jakikolwiek inny proces) może zająć niektóre czas dla uruchomionych wystąpień zwolnić pamięć, zwłaszcza jeśli musi zapisać zmodyfikowane strony powrót do swoich baz danych, aby to zrobić.Trzeba także znacznie zwiększyć rozmiar pliku stronicowania.

  • Nic nie rób (niezalecane).Pierwszego wystąpienia prezentowane z obciążenia będzie zwykle przydzielić cała pamięć.Bezczynny wystąpień lub wystąpień rozpoczęte później może mieć uruchomiony z minimalną ilość dostępnej pamięci.SQL Serverpowoduje, że próba saldo użycie pamięci przez wystąpień.Wszystkie wystąpienia jednak odpowie na sygnały powiadamiania pamięci systemu Windows, aby dopasować rozmiar ich puli bufora.Jako Windows Server 2003 z dodatkiem SP1, Windows nie jest zbilansowane pamięci w aplikacjach pamięci powiadomienie API.Jedynie zapewnia globalne opinii co do dostępności pamięci w systemie.

Te ustawienia można zmienić bez konieczności ponownego uruchamiania wystąpień, tak, aby łatwo można eksperymentować znaleźć najlepsze ustawienia dla deseniu użycia.

Przykłady

Następujące zestawy przykład max server memory opcji do 4 GB:

sp_configure 'show advanced options', 1;
GO
RECONFIGURE;
GO
sp_configure 'max server memory', 4096;
GO
RECONFIGURE;
GO