SQL Server, объект Memory Manager
Объект Диспетчер памяти в Microsoft SQL Server обеспечивает счетчики для контроля использования памяти всего сервера. Контроль над использованием памяти всего сервера для оценки действий пользователя и использования ресурсов может помочь идентифицировать нехватку производительности. Контроль над памятью, используемый экземпляром SQL Server, может помочь определить:
существуют ли нехватки в недостаточной физической памяти для хранения в кэше часто используемых данных. Если памяти недостаточно, SQL Server должен получить данные с диска;
может ли производительность запроса улучшиться, если будет добавлена память или увеличится объем доступной памяти для кэширования данных или внутренних структур SQL Server.
Счетчики диспетчера памяти
Данная таблица описывает счетчики диспетчера памяти SQL Server.
SQL Server, счетчики диспетчера памяти |
Описание |
---|---|
Память соединения (КБ) |
Указывает общий объем динамической памяти, которую использует сервер для обслуживания соединений. |
Кэш-память базы данных (КБ) |
Указывает объем памяти, который используется в настоящий момент сервером для кэша страниц базы данных. |
Свободная память (КБ) |
Указывает объем общей зафиксированной памяти, не используемой в настоящий момент сервером. |
Выделенная память для рабочей области (КБ) |
Указывает общий объем памяти, предоставленный в настоящее время для выполнения процессов, таких как хэширование, сортировка, массовое копирование и создание индекса. |
Блоки блокировки |
Указывает текущее количество блоков блокировки, использующихся на сервере (периодически обновляется). Блок блокировки представляет конкретный ресурс блокировки, например таблицу, страницу или строку. |
Выделенные блоки блокировки |
Указывает текущее количество выделенных блоков блокировки. При запуске сервера количество выделенных блоков блокировки и количество выделенных блоков владельца блокировки зависит от параметра конфигурации Блокировки SQL Server. Если необходимо большее количество блоков блокировки, значение увеличивается. |
Память блокировки (КБ) |
Указывает общий объем динамической памяти, которую сервер использует для блокировок. |
Блоки владельца блокировки |
Указывает количество блоков владельца блокировки, использующихся в настоящее время на сервере (периодически обновляется). Блокировки владельцев блоков представляют владение блокировки объекта отдельным потоком. Таким образом, если все три потока имеют общую (S) блокировку страницы, будет три блока владельца блокировки. |
Выделенные блоки владельца блокировки |
Указывает текущее количество выделенных блоков владельца блокировки. При запуске сервера количество выделенных блоков владельцев блокировки и количество выделенных блоков блокировки зависит от параметра конфигурации Блокировки SQL Server. Если необходимо большее количество блоков владельца блокировки, значение увеличивается. |
Максимальный размер памяти рабочей области (КБ) |
Указывает максимальный объем памяти, доступный для выполнения процессов, таких как хэширование, сортировка, массовое копирование и создание индекса. |
Необработанных запросов на предоставление памяти |
Указывает общее число процессов, успешно получивших память рабочей области. |
Ожидающих запросов на предоставление памяти |
Указывает общее число процессов, ожидающих предоставления памяти рабочей памяти. |
Память оптимизатора (КБ) |
Указывает общий объем динамической памяти, которую использует сервер для оптимизации запросов. |
Зарезервированная память сервера (КБ) |
Указывает общий объем памяти, зарезервированный для будущих нужд. Этот счетчик показывает неиспользуемую в данный момент долю изначально выделенного объема памяти, указанного в графе Выделенная память для рабочей области (КБ). |
Кэш-память SQL (КБ) |
Указывает общий объем динамической памяти, которую использует сервер для динамического кэша SQL. |
Заимствованная память сервера (КБ) |
Указывает объем памяти, который используется в настоящий момент сервером не для страниц базы данных, а для других целей. |
Память целевого сервера (КБ) |
Указывает идеальный объем памяти, необходимый серверу. |
Общая память сервера (КБ) |
Указывает объем памяти, выделенный серверу диспетчером памяти. |
См. также
Справочник
SQL Server, объект Buffer Manager
sys.dm_os_performance_counters (Transact-SQL)