SQL Server, obiekt Menedżera pamięci

Dotyczy:SQL Server

Obiekt Memory Manager w Microsoft SQL Server dostarcza liczniki do monitorowania ogólnego wykorzystania pamięci serwera. Monitorowanie ogólnego wykorzystania pamięci serwera w celu oceny aktywności użytkowników i wykorzystania zasobów może pomóc zidentyfikować wąskie gardła wydajności. Monitorowanie pamięci używanej przez instancję SQL Server może pomóc w określeniu:

  • Jeśli występują wąskie gardła spowodowane niewystarczającą pamięcią fizyczną do przechowywania często odwiedzanych danych w pamięci podręcznej. Jeśli pamięć jest niewystarczająca, SQL Server musi pobrać dane z dysku.

  • Jeśli wydajność zapytań można poprawić poprzez dodanie większej ilości pamięci lub udostępnienie większej ilości pamięci do pamięci podręcznej lub wewnętrznych struktur SQL Server.

Liczniki Menedżera Pamięci

Ta tabela opisuje liczniki SQL Server Memory Manager.

Liczniki SQL Server Memory Manager Description
Pamięć połączenia (KB) Określa całkowitą ilość pamięci dynamicznej zużywanej przez serwer do utrzymania połączeń.
Pamięć podręczna bazy danych (KB) Określa ilość pamięci aktualnie używanej przez serwer na cache stron bazy danych.
Zewnętrzne korzyści z pamięci Wewnętrzna ocena wydajności daje korzyści z dodania pamięci do konkretnej pamięci podręcznej. Jest wykorzystywany przez silnik do równoważenia zużycia pamięci między pamięcią podręczną i jest przydatny do wsparcia przy rozwiązywaniu problemów z nieoczekiwanym wzrostem pamięci podręcznej. Wartość ta jest przedstawiana jako liczba całkowita na podstawie wewnętrznego obliczenia.
Pamięć wolna (KB) Określa ilość zadeklarowanej pamięci nieużywanej przez serwer.
Przydzielona pamięć roboczej (KB) Określa całkowitą ilość pamięci obecnie przydzielanej wykonywanym procesom, takim jak operacje hashowania, sortowania, kopiowania masowego oraz tworzenia indeksów.
Blokady śluzowe Określa aktualną liczbę bloków blokad używanych na serwerze (okresowo odświeżanych). Blok blokady reprezentuje pojedynczy zasób zablokowany, taki jak tabela, strona lub wiersz.
Przydzielone bloki śluzowe Określa aktualną liczbę przydzielonych bloków zamków. Podczas uruchamiania serwera liczba przydzielonych bloków blokad plus liczba przydzielonych bloków właściciela zamków zależy od opcji konfiguracji SQL Server Locks. Jeśli potrzebne są kolejne blokady zamków, wartość wzrasta.
Pamięć blokadowa (KB) Określa całkowitą ilość pamięci dynamicznej używanej przez serwer do blokad.
Bloki właścicieli śluz Określa liczbę bloków właściciela blokad aktualnie używanych na serwerze (okresowo odświeżanych). Blok właściciela blokady reprezentuje własność blokady na obiekcie przez pojedynczy wątek. Dlatego jeśli trzy wątki mają wspólną blokadę (S) na stronie, będą trzy bloki właściciela blokad.
Przydzielone bloki właściciela śluz Określa aktualną liczbę przydzielonych bloków właścicieli zamków. Podczas uruchamiania serwera liczba przydzielonych bloków właściciela blokad oraz liczba przydzielonych bloków blokad zależy od opcji konfiguracji SQL Server Locks. Jeśli potrzebne są kolejne bloki właściciela zamków, wartość rośnie dynamicznie.
Pamięć Log Pool (KB) Całkowita ilość pamięci dynamicznej, jaką serwer wykorzystuje do Log Pool.
Maksymalna pamięć w przestrzeni roboczej (KB) Wskazuje maksymalną ilość pamięci dostępnej do wykonywania procesów, takich jak operacje hashu, sortowania, kopiowania masowego i tworzenia indeksów.
Nagrody pamięci Wybitne Określa łączną liczbę procesów, które z powodzeniem uzyskały przydział pamięci w przestrzeni roboczej.
Przyznanie pamięci w oczekiwaniu Określa łączną liczbę procesów oczekujących na przyznanie pamięci w przestrzeni roboczej.
Pamięć optymalizatora (KB) Określa całkowitą ilość pamięci dynamicznej używanej przez serwer do optymalizacji zapytań.
Zarezerwowana pamięć serwera (KB) Wskazuje ilość pamięci zarezerwowaną przez serwer na przyszłe użycie. Ten licznik pokazuje aktualną niewykorzystaną ilość początkowo przyznanej pamięci, która jest wyświetlana w Granted Workspace Memory (KB).
Pamięć podręczna SQL (KB) Określa całkowitą ilość pamięci dynamicznej, jaką serwer wykorzystuje do dynamicznej pamięci podręcznej SQL.
Kradziona pamięć serwerowa (KB) Określa ilość pamięci używanej przez serwer do celów innych niż strony bazy danych.
Pamięć docelowego serwera (KB) Wskazuje idealną ilość pamięci, jaką serwer może zużywać.
Całkowita pamięć serwerowa (KB) Określa ilość pamięci, jaką serwer zarezerwował za pomocą menedżera pamięci.

Przykład

Zaczniesz eksplorować liczniki wydajności zapytań w tym obiekcie przy użyciu tego zapytania T-SQL w widoku dynamicznego zarządzania sys.dm_os_performance_counters :

SELECT * FROM sys.dm_os_performance_counters
WHERE object_name LIKE '%Memory Manager%';