В настоящее время вы работаете в автономном режиме; ожидается повторное подключение к Интернету

Использование команды DBCC MEMORYSTATUS для мониторинга использования памяти в SQL Server 2005

ВНИМАНИЕ! Данная статья переведена с использованием программного обеспечения Майкрософт для машинного перевода и, возможно, отредактирована посредством технологии Community Translation Framework (CTF). Корпорация Майкрософт предлагает вам статьи, обработанные средствами машинного перевода, отредактированные членами сообщества Майкрософт и переведенные профессиональными переводчиками, чтобы вы могли ознакомиться со всеми статьями нашей базы знаний на нескольких языках. Статьи, переведенные с использованием средств машинного перевода и отредактированные сообществом, могут содержать смысловое, синтаксические и (или) грамматические ошибки. Корпорация Майкрософт не несет ответственности за любые неточности, ошибки или ущерб, вызванные неправильным переводом контента или его использованием нашими клиентами. Подробнее об CTF можно узнать по адресу http://support.microsoft.com/gp/machine-translation-corrections/ru.

Эта статья на английском языке: 907877
Аннотация
В данной статье рассматриваются результаты выполнения команды DBCC MEMORYSTATUS. Эта команда часто используется для устранения проблемы с потреблением памяти Microsoft SQL Server.

В данной статье описаны элементы вывода для диспетчера памяти, обзор использования памяти, памяти статистические сведения, сведения распределения буфера, пул буфера сведения и сведения кэша процедур. Здесь также описываются выходные данные об объектах глобальной памяти, об объектах памяти запрос, об оптимизации и о брокеры памяти.
ВВЕДЕНИЕ
Команда DBCC MEMORYSTATUS предоставляет моментальный снимок текущего состояния памяти Microsoft SQL Server. В результате выполнения этой команды можно использовать для устранения проблемы с потреблением памяти в SQL Server или устранение ошибок нехватки памяти. (Многие ошибки нехватки памяти автоматически печатать эти выходные данные в журнал ошибок). Служба поддержки пользователей Майкрософт может запросить запускать эту команду в обращением в службу поддержки, определенных при возникновении ошибки, которая может быть связана с условия нехватки памяти.

Примечание Системного монитора (PerfMon) и диспетчер задач не учитывают памяти правильно Если включена поддержка расширений AWE (Address Windowing).

В данной статье описаны некоторые данные, которые можно получить от команды DBCC MEMORYSTATUS. Несколько разделов данной статьи включать подробности реализации собственности, которые не описаны здесь. Службу поддержки пользователей Майкрософт не ответить на все вопросы или предоставить дополнительные сведения о значении определенных счетчиков за сведения, предоставленные в данной статье.
Дополнительная информация
Важно: Команда DBCC MEMORYSTATUS предназначена как средство диагностики технической поддержки Майкрософт. Формат выходных данных и уровень детализации, который предоставляется могут изменяться от пакетов обновления и выпусков продуктов. Команда DBCC MEMORYSTATUS предоставляет функциональные возможности могут быть заменены другой механизм в более поздних версиях продукта. Таким образом в более поздних версиях продукта, эта команда может перестать работать. Дополнительные предупреждения не будут внесены до этой команды изменен или удален. Таким образом приложения, использующие эту команду может нарушить без предупреждения.

Результаты выполнения команды DBCC MEMORYSTATUS отличается от предыдущих версий SQL Server. Выходные данные теперь содержит несколько разделов, которые были недоступны в более ранних версиях продукта.

Диспетчер памяти

В первой части выходных данных — диспетчер памяти. В этом разделе показано общее потребление памяти SQL Server.
   Memory Manager                 KB    ------------------------------ --------------------   VM Reserved                    1761400   VM Committed                   1663556   AWE Allocated                  0   Reserved Memory                1024   Reserved Memory In Use         0   (5 row(s) affected)
Элементы в этом разделе являются следующие:
  • Зарезервировано виртуальной Машины: это значение показывает общий объем виртуального адресного пространства (VA), зарезервированной для SQL Server.
  • Выделенная виртуальная машина: это значение отображается общий объем УВЕЛИЧИВАЕТСЯ, SQL Server была завершена. ПРОИЗВОДИТЕЛЬНОСТЬ, которая фиксируется была связана с физической памяти.
  • Выделенные AWE: это значение показывает общий объем памяти, выделенный с использованием механизма AWE на 32-разрядной версии SQL Server. Или, это значение показывает общий объем памяти, заблокированных страниц занимают 64-разрядной версии продукта.
  • Зарезервированная память: это значение показывает объем памяти, зарезервированный для выделенного административного соединения (DAC).
  • Использование зарезервированных в памяти: это значение показывает зарезервированной памяти, который используется.

Сводка использования памяти

В разделе диспетчер памяти следует сводка использования памяти для каждого узла памяти. В систему разрешен доступ (NUMA) неоднородной памяти будет соответствующая запись узла памяти для каждого узла NUMA оборудования. В системе SMP будут в одной операции узла памяти.

Примечание Идентификатор узла памяти могут не соответствовать идентификатору оборудования узла.
   Memory node Id = 0             KB    ------------------------------ --------------------   VM Reserved                    1757304   VM Committed                   1659612   AWE Allocated                  0   MultiPage Allocator            10760   SinglePage Allocator           73832   (5 row(s) affected)
Примечание Эти значения показывают объем памяти, выделяемая потоков, выполняющихся на данном узле NUMA. Эти значения не памяти, который является локальным для узла NUMA.

Элементы в этом разделе являются следующие:
  • Зарезервировано виртуальной Машины: это значение показывает ПРОИЗВОДИТЕЛЬНОСТЬ, зарезервированные для потоков, выполняющихся на данном узле.
  • Выделенная виртуальная машина: это значение показывает ПРОИЗВОДИТЕЛЬНОСТЬ, зафиксированных потоками, работающих на данном узле.
  • Выделенные AWE: это значение показывает объем памяти, выделенных с помощью механизма AWE на 32-разрядной версии продукта. Или это значение показывает общий объем памяти, потребляемой заблокированных страниц на 64-разрядной версии продукта.

    В системе с поддержкой NUMA это значение может быть неправильным или отрицательное. Тем не менее общее значение Выделенных AWE в разделе диспетчер памяти имеет правильное значение. Для отслеживания памяти, выделенной с помощью отдельных узлов NUMA, можно использовать SQL Server: узел буфера объекты производительности. (Дополнительные сведения см. Электронную документацию по SQL Server.)
  • Многостраничные распределителя: это значение показывает объем памяти, определяется через многостраничные распределителя потоков, выполняющихся на данном узле. Эта память поступает из вне буферного пула.
  • Распределителя SinglePage: это значение показывает памяти, который выделяется через одностраничного потоков, выполняющихся на этом узле. Эта память является заимствованных из буферного пула.
Примечание Суммы VM зарезервированные значения и значения Зафиксированы виртуальной Машины на всех узлах памяти будет немного меньше, чем соответствующие значения, которые выводятся в разделе диспетчер памяти.

Статистическая обработка памяти

Следующий раздел содержит память статистические сведения для каждого типа клерка и каждый узел NUMA. Для системы с поддержкой NUMA можно увидеть результаты, аналогичные следующим.

Примечание В следующей таблице приведены части выходных данных.
   MEMORYCLERK_SQLGENERAL (node 0)                                  KB    ---------------------------------------------------------------- --------------------   VM Reserved                                                      0   VM Committed                                                     0   AWE Allocated                                                    0   SM Reserved                                                      0   SM Commited                                                      0   SinglePage Allocator                                             592   MultiPage Allocator                                              2160   (7 row(s) affected)   MEMORYCLERK_SQLGENERAL (node 1)                                  KB    ---------------------------------------------------------------- --------------------   VM Reserved                                                      0   VM Committed                                                     0   AWE Allocated                                                    0   SM Reserved                                                      0   SM Commited                                                      0   SinglePage Allocator                                             136   MultiPage Allocator                                              0   (7 row(s) affected)   MEMORYCLERK_SQLGENERAL (Total)                                   KB    ---------------------------------------------------------------- --------------------   VM Reserved                                                      0   VM Committed                                                     0   AWE Allocated                                                    0   SM Reserved                                                      0   SM Commited                                                      0   SinglePage Allocator                                             728   MultiPage Allocator                                              2160   (7 row(s) affected)
Примечание Эти идентификаторы узлов соответствуют конфигурации NUMA узел компьютера, на котором выполняется SQL Server. Узел удостоверения включают возможности программного NUMA-узлам, определенные на базе аппаратных NUMA-узла или на основе системы SMP. Чтобы найти сопоставление между идентификаторами узла и ЦП для каждого узла, узнать Идентификационный номер события 17152. Это событие записывается в журнал приложений в средстве просмотра событий при запуске SQL Server.

Для системы SMP вы увидите только один раздел для каждого типа клерка. Этот раздел является следующее.
   MEMORYCLERK_SQLGENERAL (Total)                                   KB    ---------------------------------------------------------------- --------------------   VM Reserved                                                      0   VM Committed                                                     0   AWE Allocated                                                    0   SM Reserved                                                      0   SM Commited                                                      0   SinglePage Allocator                                             768   MultiPage Allocator                                              2160   (7 row(s) affected)
Об общей памяти, другие сведения в следующих разделах:
  • Зарезервированные SM: это значение показывает ПРОИЗВОДИТЕЛЬНОСТЬ, зарезервированные для всех клерков такого рода, использующие сопоставленные в памяти файлы API. Этот API-Интерфейс называется также общей памяти.
  • Подтвержденные SM: это значение показывает ПРОИЗВОДИТЕЛЬНОСТЬ, фиксируется с помощью такого рода всех клерков, использующие сопоставленные в памяти файлы API.
Сводные данные для каждого типа клерка для всех узлов памяти можно получить с помощью sys.dm_os_memory_clerks динамическое административное представление (DMV). Чтобы сделать это, выполните следующий запрос:
select 	type,	sum(virtual_memory_reserved_kb) as [VM Reserved],	sum(virtual_memory_committed_kb) as [VM Committed],	sum(awe_allocated_kb) as [AWE Allocated],	sum(shared_memory_reserved_kb) as [SM Reserved], 	sum(shared_memory_committed_kb) as [SM Committed],	sum(multi_pages_kb) as [MultiPage Allocator],	sum(single_pages_kb) as [SinlgePage Allocator]from 	sys.dm_os_memory_clerks group by type

Распределение буфера

В следующем разделе показано распределение 8-килобайтовой (КБ) буферов в буферном пуле.
   Buffer Distribution            Buffers   ------------------------------ -----------   Stolen                         553   Free                           103   Cached                         161   Database (clean)               1353   Database (dirty)               38   I/O                            0   Latched                        0   (7 row(s) affected)
Элементы в этом разделе являются следующие:
  • Заимствованных: описание Заимствованных память буферов по 8 KБ, используемые сервером для различных целей. Эти буферы служат в качестве хранилища выделений памяти. Различные компоненты сервера использовать буфер для хранения внутренних структур данных. Процесс отложенной записи не может очистить буферы заимствованных из буферного пула.
  • Бесплатный: это значение показывает выделения буферов, которые в настоящее время не используются. Буфер для хранения данных. Или другие компоненты могут запросить эти буферы и затем пометить эти буферы как Заимствованных.
  • Кэшировано: это значение показывает буферов, используемых для различных кэшей.
  • База данных (чистая): это значение показывает буферов, которые имеют содержимое базы данных и который не был изменен.
  • База данных (черновые): это значение показывает буферов, которые имеют содержимое базы данных и были изменены. Эти буферы содержат изменения, которые должны быть сброшены на диск.
  • Ввод-вывод: это значение показывает буферов, которые ожидают ожидающие операции ввода-вывода.
  • Latched: это значение показывает буферов заблокирована . Буфера происходит, когда поток чтение или изменение содержимого страницы. Буфер также происходит при чтении страницы с диска или записываются на диск. Кратковременная используется для поддержания физическая согласованность данных на странице время считывания или изменения. Блокировка используется для обеспечения согласованности логические и транзакций.

Сведения о пуле буфера

С помощью sys.dm_os_buffer_descriptors DMV можно получить подробные сведения о буфере пул буферов страниц базы данных. И можно получить подробные сведения, которые используются сервером для различных целей с помощью sys.dm_os_memory_clerks DMV страницы буферного пула.

Ниже перечислены сведения о буферного пула, плюс дополнительные сведения.
   Buffer Counts                  Buffers   ------------------------------ --------------------   Committed                      1064   Target                         17551   Hashed                         345   Stolen Potential               121857   External Reservation           645   Min Free                       64   Visible                        17551   Available Paging File          451997   (8 row(s) affected)
Элементы в этом разделе являются следующие:
  • Зафиксировано: это значение показывает общее буферов, которые фиксируются. Буферов, которые фиксируются имеют связанные с ними физической памяти. Зафиксировано значение текущего размера буферного пула. Это значение включает объем памяти, который выделяется, если включена поддержка AWE.
  • Цель: это значение показывает целевой размер буферного пула. Если целевое значение больше, чем значение Зафиксировано , возрастает буферного пула. Если целевое значение меньше, чем значение Зафиксировано , сжатие буферного пула.
  • Hashed: это значение показывает страниц данных и страниц индекса, которые хранятся в буферном пуле.
  • Возможные кражи: это значение показывает максимальное страниц, которые можно заимствованных из буферного пула.
  • ExternalReservation: это значение показывает страницы, которые были зарезервированы для запросов, выполняющих операции сортировки и хэширования. Эти страницы не был украден.
  • Бесплатный минимум: это значение показывает, буферный пул предпринимает попытку на список свободных страниц.
  • Visible: это значение показывает буферов, которые видны одновременно. Эти буферы может осуществляться непосредственно, в то же время. Это значение обычно равно общее буферов. Тем не менее если включена поддержка AWE, это значение может быть меньше всего буферов.
  • Доступен файл подкачки: это значение показывает объем памяти, доступной для фиксации. Это значение выражается как количество буферов по 8 KБ. Дополнительные сведения приведены в разделе «GlobalMemoryStatusEx функция» в документации по Windows API.

Кэш процедур

В следующем разделе описывается состав кэша процедур.
   Procedure Cache                Value   ------------------------------ -----------   TotalProcs                     4   TotalPages                     25   InUsePages                     0   (3 row(s) affected)
Элементы в этом разделе являются следующие:
  • TotalProcs: это значение показывает общее кэшированные объекты, находящиеся в кэше процедур. Это значение будет соответствовать записи sys.dm_exec_cached_plans DMV.

    Примечание Из-за динамической природы этой информации соответствие может быть не точным. Можно с помощью системного монитора SQL Server: Plan Cache объекта и sys.dm_exec_cached_plans DMV подробные сведения о типе кэшированные объекты, такие как триггеры, процедуры и специальные объекты.
  • TotalPages: это значение показывает совокупное страницы, что необходимо хранить все кэшированные объекты в кэше процедур.
  • InUsePages: это значение показывает страницы в кэше процедур, которому принадлежат процедур, выполняющихся в данный момент. Эти страницы не удаляются.

Объекты глобальной памяти

Следующий раздел содержит сведения о различных объектах глобальной памяти. Этот раздел также содержит сведения о сколько памяти глобальной памяти объектами.
   Global Memory Objects          Buffers   ------------------------------ --------------------   Resource                       126   Locks                          85   XDES                           10   SETLS                          2   SE Dataset Allocators          4   SubpDesc Allocators            2   SE SchemaManager               44   SQLCache                       41   Replication                    2   ServerGlobal                   25   XP Global                      2   SortTables                     2   (12 row(s) affected)
Элементы в этом разделе являются следующие:
  • Ресурс: это значение показывает памяти, который использует объект ресурса . Объект ресурса используется подсистемой хранилища и для различных структур на уровне сервера.
  • Блокировка: это значение показывает объем памяти, использующей диспетчер блокировок.
  • XDES: это значение показывает объем памяти, использующей диспетчер транзакций.
  • SETLS: это значение показывает объем памяти, используемый для выделения определенного механизма хранения каждого потока структура, которая использует локальное хранилище потока.
  • SE механизмов выделения набора данных: это значение показывает объем памяти, используемый для выделения структуры для доступа к таблице через параметр Метода доступа .
  • SubpDesc выделения пространства: это значение показывает объем памяти, используемый для управления вспомогательных процессов для параллельных запросов, операций резервного копирования, операций восстановления, операций с базами данных, операций с файлами, зеркального отображения и асинхронных курсоров.Эти подпроцессы, называются Параллельные процессы.
  • SE SchemaManager: это значение показывает объем памяти, диспетчер схемы используется для хранения конкретного ядра хранилища метаданных.
  • SQLCache: это значение показывает объем памяти, используемый для хранения текста инструкций нерегламентированных и подготовленных инструкций.
  • Репликация: это значение показывает объем памяти, используемый сервером для репликации внутренних подсистем.
  • ServerGlobal: это значение показывает глобальный серверный объект памяти, обычно используется несколько подсистем.
  • Глобальные XP: это значение показывает, расширенные хранимые процедуры использования памяти.
  • Таблицы сортировки: это значение показывает объем памяти, использование таблиц сортировки.

Объекты памяти для запроса

В следующем разделе описывается предоставить сведения запроса памяти. Этот раздел содержит моментальный снимок использования памяти для запроса. Запрос памяти также называется рабочей области памяти.
   Query Memory Objects           Value   ------------------------------ -----------   Grants                         0   Waiting                        0   Available (Buffers)            14820   Maximum (Buffers)              14820   Limit                          10880   Next Request                   0   Waiting For                    0   Cost                           0   Timeout                        0   Wait Time                      0   Last Target                    11520   (11 row(s) affected)   Small Query Memory Objects     Value          ------------------------------ -----------    Grants                         0   Waiting                        0   Available (Buffers)            640   Maximum (Buffers)              640   Limit                          640   (5 row(s) affected)
Если размер и стоимость запроса удовлетворяют порогов памяти «small» запроса, запрос помещается в очередь небольшой запрос. Такое поведение предотвращает случае задержки за большие запросы, уже находящиеся в очереди запросы меньшего размера.

Элементы в этом разделе являются следующие:
  • Предоставляет: это значение показывает выполняемых запросов, которые имеют на предоставление памяти.
  • Ожидание: это значение показывает запросов, ожидающих получения на предоставление памяти.
  • Доступно: это значение показывает буферов, доступных на запросы для использования в качестве хэш-рабочая область и как сортировать рабочей области. Периодически обновляется значение доступно .
  • Максимальное: это значение показывает общее буферов, которые могут быть заданы в все запросы для использования в качестве рабочей области.
  • Ограничение: это значение показано выполнение запроса целевой очереди большой запрос. Это значение отличается от значения максимум (буферы) , поскольку значение максимума (буферы) не обновляется до изменения в очереди.
  • Следующий запрос: это значение показывает размер запроса памяти в буферы для ожидания следующего запроса.
  • Для ожидания: это значение показывает объем памяти, который должен быть доступен для выполнения запроса, на который ссылается значение Следующего запроса . Ожидание для значение умножается на коэффициент запас значение Следующего запроса . Это значение фактически гарантирует, что определенный объем памяти будет доступен при запуске следующего запроса ожидания.
  • Затраты: затраты на следующий ожидающий запрос показывает это значение.
  • Время ожидания: это значение показывает время ожидания в секундах для ожидания следующего запроса.
  • Время ожидания: это значение показывает интервал времени в миллисекундах, так как следующий ожидающий запрос был помещен в очередь.
  • Последние цели: это значение показывает общий предел памяти для выполнения запроса. Это значение является объединенный предел очереди большой запрос и очереди небольшой запрос.

Оптимизация

Ниже приведен краткий обзор пользователей, которые пытаются оптимизировать запросы в то же время.
   Optimization Queue             Value   ------------------------------ --------------------   Overall Memory                 156672000   Last Notification              1   Timeout                        6   Early Termination Factor       5   (4 row(s) affected)   Small Gateway                  Value   ------------------------------ --------------------   Configured Units               8   Available Units                8   Acquires                       0   Waiters                        0   Threshold Factor               250000   Threshold                      250000   (6 row(s) affected)   Medium Gateway                 Value   ------------------------------ --------------------   Configured Units               2   Available Units                2   Acquires                       0   Waiters                        0   Threshold Factor               12   (5 row(s) affected)   Big Gateway                    Value   ------------------------------ --------------------   Configured Units               1   Available Units                1   Acquires                       0   Waiters                        0   Threshold Factor               8   (5 row(s) affected)
Запросы отправляются на сервер для компиляции. Процесс компиляции включает анализ, algebraization и оптимизации. Запросы классифицируются в зависимости от объема памяти, который использует каждого запроса во время компиляции.

Примечание Эта сумма не включает память, которая требуется для выполнения запроса.

При запуске запроса, нет ограничения на количество запросов может быть скомпилирован. Потребление памяти увеличивается и достигает порога, запрос должен пройти шлюз для продолжения. После всех шлюзов, имеется ограничение постепенно убывания одновременно скомпилированных запросов. Размер всех шлюзов, зависит от платформы и нагрузки. Размеры шлюза выбираются для достижения максимальной масштабируемости и пропускной способности.

Если запрос не проходит шлюза, запрос будет ждать памяти. Или запрос вернет ошибку времени ожидания (ошибка 8628). Кроме того запрос не могут приобретать шлюза, если пользователь отменяет запрос или если взаимоблокировка обнаружена. Если запрос проходит несколько шлюзов, запрос не освобождает меньше шлюзов до завершения процесса компиляции.

Это поведение позволяет только несколько требовательные к памяти компиляции происходят одновременно. Кроме того такое поведение обеспечивает максимальную пропускную способность для небольших запросов.

Брокеры памяти

Следующих трех разделах Показать сведения о памяти брокеры памяти, зарезервированная память и украденных памяти кэширование элемента управления. Эти разделы содержат сведения могут использоваться только для внутренней диагностики. Таким образом эта информация будет здесь не описаны.
   MEMORYBROKER_FOR_CACHE           Value   -------------------------------- --------------------   Allocations                      1843   Rate                             0   Target Allocations               1843   Future Allocations               0   Last Notification                1   (4 row(s) affected)   MEMORYBROKER_FOR_STEAL           Value   -------------------------------- --------------------   Allocations                      380   Rate                             0   Target Allocations               1195   Future Allocations               0   Last Notification                1   (4 row(s) affected)   MEMORYBROKER_FOR_RESERVE         Value   -------------------------------- --------------------   Allocations                      0   Rate                             0   Target Allocations               1195   Future Allocations               0   Last Notification                1   (4 row(s) affected)
Состояние памяти memorystatus dbcc памяти SQL Server 2005

Внимание! Эта статья переведена автоматически

Свойства

Номер статьи: 907877 — последний просмотр: 03/15/2015 08:41:00 — редакция: 3.0

Microsoft SQL Server 2005 Developer Edition, Microsoft SQL Server 2005 Enterprise Edition, Microsoft SQL Server 2005 Enterprise Edition for Itanium Based Systems, Microsoft SQL Server 2005 Enterprise X64 Edition, Microsoft SQL Server 2005 Standard Edition, Microsoft SQL Server 2005 Standard X64 Edition, Microsoft SQL Server 2005 Workgroup Edition, Microsoft SQL Server 2005 Standard Edition for Itanium Based Systems

  • kbsqlsetup kbsql2005engine kbtshoot kbinfo kbmt KB907877 KbMtru
Отзывы и предложения
pendChild(m);