Udostępnij za pośrednictwem


Server Memory Options

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 oparta na dostępnych zasobów systemowych. Ustawieniem domyślnym dla pamięć serwera min jest 0, a domyślnym ustawieniem dla Maksymalna pamięć jest 2 147 483 647.Minimalna ilość pamięci, można określić dla Maksymalna pamięć wynosi 16 megabajtów (MB).

Uwaga

Ustawienie Maksymalna liczba serwerów memory na minimalną wartość istotnie zmniejsza SQL Server wydajność i nawet uniemożliwić jego uruchomienie. Nie można uruchomić SQL Server Po zmianie tej opcji, należy uruchomić go za pomocą –f opcji uruchamiania i resetowania Maksymalna pamięć do jego poprzedniej wartości.Aby uzyskać więcej informacji zobaczUsing the SQL Server Service Startup Options.

Kiedy 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.Zachowanie to ilość wolnej pamięci uniemożliwia Windows 2000 od stronicowania. Jeśli nie ma mniej pamięci 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 korzysta z powiadomienie pamięci interfejsu API QueryMemoryResourceNotification, aby określić, kiedy pula buforów może przydzielić pamięci i zwolnić pamięć.

Zezwalanie SQL Server Zaleca się użycie pamięci dynamicznie; można jednak zestaw pamięci opcji ręcznie i ograniczyć ilość pamięci, SQL Server można uzyskać dostęp. Przed rozpoczęciem zestaw ilości pamięci dla SQL Server, określenie odpowiedniej pamięci zestaw ting przez odjęcie od Całkowita pamięć fizyczna ilość pamięci wymaganej dla Windows 2000 lub Windows Server 2003 i wszystkie inne wystąpienia SQL Server (i korzysta z innego systemu, jeśli komputer nie jest całkowicie dedykowane do SQL Server). Różnica ta jest maksymalną ilość pamięci, które można przypisać do SQL Server.

Ręczne ustawianie opcji pamięci

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

  • W przypadku pierwszej metoda zestaw pamięć serwera min and Maksymalna pamięć tę samą wartość.Wartość ta odpowiada stałej ilości pamięci do alokacji SQL Server pula buforów po osiągnięciu wartości.

  • W drugiej metoda Ustawianie pamięć serwera min and Maksymalna pamięć ma się rozciągać się na zakres wartości pamięci.Ta metoda jest przydatna w przypadku, gdy administratorzy systemu lub bazy danych chcesz skonfigurować wystąpienie SQL Server w połączeniu z wymagania dotyczące pamięci z innych aplikacji, które są uruchamiane 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, wykorzystanie pamięci SQL Server Nie można zwolnić pamięć z puli przydzielonego buforu, chyba że wartość pamięć serwera min jest ograniczona.

Uwaga

SQL Server nie jest gwarantowane przydzielić ilość pamięci określoną w pamięć serwera min.Jeśli nigdy nie wymaga obciążenie serwera ilość pamięci określoną w alokacji 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 zmniejszeniem wartości maksymalna pamięć serwera użyj Monitora wydajności, aby sprawdzić obiekt wydajności SQLServer:Buffer Manager pod obciążeniem, i zanotuj bieżące wartości liczników Ukradzione strony i Zarezerwowane strony.Te liczniki zgłaszają rozmiar pamięci w formie liczby stron o rozmiarze 8K.Wartość maksymalna pamięć serwera powinna być większa niż suma tych dwóch wartości, co umożliwi uniknięcie błędów braku pamięci.Przybliżona najmniejsza rozsądna wartość ustawienia maksymalna pamięć serwera (w MB) to ([Ukradzione strony] + [Zarezerwowane strony])/ 100.W celu zmniejszenia wartości ustawienia maksymalna pamięć serwera może być konieczne ponowne uruchomienie programu SQL Server w celu zwolnienia pamięci.Aby uzyskać więcej informacji dotyczących ustawiania opcji pamięci, zobacz temat How to: Set a Fixed Amount of Memory (SQL Server Management Studio).

Maksymalizuj przepływność danych dla aplikacji sieciowych

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

Aby sprawdzić, czy bieżące ustawienie w systemie operacyjnym

  1. Kliknij przycisk Rozpocznij, następnie kliknij przycisk Panel sterowania, kliknij dwukrotnie Usługa Połączenia sieciowe, a następnie kliknij dwukrotnie Połączenie lokalne.

  2. Na Ogólne karcie, kliknij przycisk Właściwości, select Sieci Microsoft Networks udostępnianie plików i drukarek, a następnie kliknij przycisk Właściwości.

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

AWE pamięci w systemie Windows Server 2003

W obszarze Windows Server 2003, SQL Server może być dalej pomagać w swoje własne wymagania dotyczące pamięci z tych systemów operacyjnych równoważenia obciążenia pamięci Address Windowing Extensions (AWE). To równoważenia między SQL Server i systemu operacyjnego podlega ograniczenia pamięć serwera min and Maksymalna pamięć opcje.Jeśli sprzęt serwera obsługuje pamięć typu hot Dodawanie, można dodać dodatkowej pamięci fizycznej na serwerze, w razie potrzeby, bez konieczności ponownego uruchomienia komputera.Aby uzyskać więcej informacji na temat AWE włączone Opcja Konfiguracja zobacz awe enabled Option. Aby uzyskać więcej informacji zobaczGorąco Dodawanie pamięci.

Uwaga

W obszarze Windows Server 2003, pamięci dynamicznej AWE jest obsługiwane na serwerach z mniej fizycznej pamięci niż limit skonfigurowanych pamięci wirtualnej. System Windows 2000 wymagane, że dostępnej pamięci fizycznej przekroczy pamięci wirtualnej w celu umożliwienia AWE pamięci.

Najlepszym rozwiązaniem jest dodanie przydzielić tak dużej ilości pamięci, jak to możliwe SQL Server bez powodowania wymiany stron na dysku przez system. Próg jest różna w zależności od używanego systemu.Na przykład na przeznaczonym wyłącznie do 32 gigabajtów (GB) systemu SQL ServerGB 30-31 może być progowa maksymalną właściwe dla SQL Server; w systemie 64 GB 60 62 GB mogą być odpowiednie progowa.

Uwaga

Jak zwiększyć ilość SQL Server pamięć, upewnij się, że jest dostateczna ilość wolnego miejsca na dysku aby rozwinąć pliku obsługi pamięci wirtualnej systemu operacyjnego (Pagefile.sys), aby pomieścić dodatkowej pamięci. Aby uzyskać więcej informacji na temat plików obsługi pamięci wirtualnej, zobacz temat Windows 2000 lub Windows Server 2003 dokumentację.

Za pomocą statystyk z Monitorem systemu Windows można dostosować wartość pamięci, jeśli to konieczne.Wartość należy zmienić tylko wtedy, gdy dodasz lub usuniesz pamięć 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 zapewnia dostęp do 4 gigabajtów (GB) wirtualnej przestrzeni adresowej. Dolna 2 GB pamięci wirtualnej jest prywatnych 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 konfiguracja pamięci przełącznika, można znaleźć w dokumentacji systemu Windows.

Uwaga

W Windows Server 2003Rozszerzenia adresu fizycznego automatycznie jest włączone tylko wtedy, gdy serwer używa typu hot dodawać urządzenia pamięci. W takim wypadku nie trzeba użyć przełącznika/PAE w systemie, który jest skonfigurowany do używania urządzenia pamięci typu hot dodawanie.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 są mapowane do dostępnej pamięci fizycznej przez Menedżera pamięci wirtualnej systemu Windows programem (VMM).Zwiększa ilość pamięci fizycznej, które są obsługiwane z wprowadzeniem Windows Server 2003 systemy operacyjne. W związku z tym pamięci fizycznej dostępnej przez AWE zależy, używasz systemu operacyjnego:

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

  • Windows Server 2003Enterprise Edition obsługuje pamięć fizyczna o rozmiarze sięgającym 32 GB.

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

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

System Windows 2000 Advanced Server i Windows 2000 Datacenter Server oraz Windows Server 2003Serwer przedsiębiorstwa a Windows Server 2003Wersje 32-bitowe Datacenter Server ma możliwość przekracza limit 4 GB za pomocą programu Intel fizycznego adresowania rozszerzeń (PAE). Korzystanie z / PAE przełącznika w pliku konfiguracja w pliku boot.ini systemu Windows zapewnia dostęp do pamięci fizycznej powyżej limit 4 GB.Jest to zapotrzebowanie na dostęp do pamięci AWE ponad 4 GB.Aby uzyskać więcej informacji na temat sposobów korzystania z tej konfiguracja pamięci dla Windows 2000 i Windows Server 2003, można znaleźć w dokumentacji systemu Windows.

Systemy adresów wirtualnych, takie jak Windows 2000 lub Windows Server 2003 zezwala na over-commitment pamięci fizycznej, dzięki czemu stosunek fizycznej pamięci wirtualnej może przekraczać 1: 1. W rezultacie większa programy mogą być uruchamiane na komputerach z różnymi konfiguracjami pamięci fizycznej.Jednak przy użyciu znacznie większej ilości pamięci wirtualnej niż średnia Scalonej zestawów roboczych wszystkich procesów może być przyczyną niskiej wydajności.

The min server memory and max server memory options are advanced options.Jeśli używasz sp_configure systemu przechowywanej procedury, aby zmienić te ustawienia, można je zmieniać tylko wtedy, gdy Pokaż zaawansowane opcje jest ustawiona na wartość 1.Ustawienia te zaczynają obowiązywać natychmiast, bez ponownego uruchomienia serwera.

Uruchamianie wielu wystąpień programu SQL Server

Kiedy działa kilka wystąpień Database Engine, istnieją trzy metody można użyć do zarządzania pamięci:

  • Użycie Maksymalna pamięć do kontrolowania wykorzystania pamięci.Ustanawia ustawienia maksymalne dla każdego wystąpienie, zwracając szczególną uwagę na całkowitą dodatek nie jest większa niż całkowita pamięć fizyczna na tym komputerze.Można nadać każde wystąpienie pamięci proporcjonalne do jego obciążenia oczekiwanego lub rozmiar bazy danych.Takie podejście ma tę zaletę, że podczas nowych procesów lub wystąpień uruchomienia, wolnej pamięci, będzie miał dostęp do nich bezpośrednio.Wadą jest to, jeżeli nie są wykonywane wszystkich wystąpień, żaden z bieżących wystąpienia będą mogli korzystać pozostałą ilość wolnej pamięci.

  • Użycie pamięć serwera min do kontrolowania wykorzystania pamięci.Ustalenie minimalnych ustawień dla każdego wystąpienie, tak aby suma następujące minimalne wymagania pozycji jest mniejsza niż całkowita pamięć fizyczna na tym komputerze 1-2 GB.Ponownie użytkownik może utworzyć następujące minimalne wymagania pozycji proporcjonalnie do oczekiwanej obciążenie tego wystąpienie.Takie podejście ma tę zaletę, że nie wszystkie wystąpienia są uruchomione w tym samym czasie, te, które są uruchomione mogą używać pozostałą 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 mógłby uzyskać rozsądne ilość pamięci. Wadą jest to po rozpoczęciu nowej instancji (lub jakikolwiek inny proces) może zająć trochę czas uruchomionych wystąpień zwolnić pamięć, zwłaszcza wtedy, gdy one musi ponownie zapisać zmodyfikowane strony do swoich baz danych, aby to zrobić.Konieczne może również znacznie zwiększyć rozmiar pliku stronicowania.

  • Brak (niezalecane).Pierwszego wystąpienia wyświetlane obciążenie pracą będą zwykle przydzielić cała pamięć.Idle instances or instances started later may end up running with only a minimal amount of memory available.SQL Server makes no attempt to balance memory usage across instances.Wszystkie wystąpienia jednak odpowie na sygnały powiadomienie pamięci systemu Windows, aby dopasować rozmiar ich puli bufora.Od dnia Windows Server 2003 W przypadku dodatku SP1 systemu Windows nie bilansować pamięci w aplikacjach z interfejsem API powiadomienie pamięci. Zapewnia on jedynie globalne opiniach dostępności pamięci w systemie.

Te ustawienia można zmienić bez ponownego uruchamiania wystąpień, dzięki czemu łatwo można eksperymentować znaleźć najlepsze ustawienia dla deseniu sposób użycia.

Przykłady

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

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