INF: С помощью инструкции DBCC MEMORYSTATUS для мониторинга использования памяти SQL Server

Переводы статьи Переводы статьи
Код статьи: 271624 - Vizualiza?i produsele pentru care se aplic? acest articol.
Развернуть все | Свернуть все

В этой статье

Аннотация

Команда DBCC MEMORYSTATUS обеспечивает моментальный снимок текущее состояние памяти SQL Server. В результате выполнения этой команды полезен в Устранение неполадок, связанных с потреблением памяти SQL Server или (многие из которых автоматически печатать эти выходные данные для ошибок нехватки памяти в журнале ошибок). Может также запросить службу технической поддержки Майкрософт, выполните следующую команду в ходе обращением в службу поддержки, определенных в случае При обнаружении ошибки, которая может быть связана с нехваткой памяти. условие.

Эта команда позволяет средство для диагностики Службы поддержки продуктов Майкрософт. Формат выходных данных и уровень Подробности, предоставленный может изменяться между пакетом и продукта Освобождает. Функциональные возможности, предоставляемые с помощью команды DBCC MEMORYSTATUS будет скорее всего заменен другим механизмом в будущих версиях, и Эта команда может перестать работать. Перед изменением или удаление этой команды будут выполняться без дополнительных предупреждений. Таким образом приложения, зависящие от его поведение может прерываться без предупреждения.

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

Дополнительная информация

Первый раздел

В первом разделе описывается распределение буферов по 8 KБ в буферный пул. Существует структуру для каждой потенциальной 8-Килобайтной страницы в буфер буферный пул. Включает физические страницы, если расширения AWE Включено (AWE). Эта структура содержит определенное число битов, определяющих состояние нижележащей страницы (то есть страница была изменена, является ли закрепленные, находится в операции ввода-ВЫВОДА и многое другое). В этом разделе подробно описываются количества буферов которые имеют биты определенного состояния.
Buffer Distribution              Buffers     
------------------------------   ----------- 
Stolen                           241
Free                             95
Procedures                       89
Inram                            0
Dirty                            16
Kept                             0
I/O                              0
Latched                          18
Other                            880

(9 row(s) affected)
				
Кражи. Описывает Заимствованных память буферов, используемых для сортировки или хэширование операций (памяти рабочей области запроса), или для этих буферов, которые являются используется в качестве хранилища для распределения памяти для хранения внутренних данных. структуры блокировок, контекст транзакции и сведения о подключении. В Процесс отложенной записи не может очистить буферы Заимствованных из буферного пула.

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

Процедуры. Буферы, хранящих память кэшированная хранимая процедура ссылается процедуры . Эти буферы содержат скомпилированных и исполняемых планов для процедур и кэшированные ad планы на компьютер.

Inram. Inram относится к страницам для закрепленных таблиц, не может быть удален из памяти (закреплены с помощью команды DBCC PINTABLE или sp_tableoption хранимые процедуры).

"Грязный". Dirty ссылается на страницы данных, содержащих изменения, которые еще не были сброшены на диске.

Сохраняются. Kept ссылается на страницах, которые временно, фиксируются в памяти для предотвращения их из выполняется сброс. Это значение не используется в SQL Server 2000.

I/O. Операций ввода-вывода относится к буферов, которые ожидают ожидающие операции ввода-вывода. В SQL Server 2000 Сюда входят сопоставления или откажитесь буфер через расширения AWE.

Заблокирована. Нажатой буферы записи, количество буферов, где соединение чтения или изменяет строку на странице. Кратковременная блокировка — используется для обеспечить физическая согласованность данных на странице, в то время как он доступен для чтения или изменения, пока блокировка используется для обеспечения логического и транзакций согласованность.

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

Второй раздел

Во втором разделе перечислены некоторые итоги, отражающие общий размер и состав буферного пула.
Buffer Counts                  Buffers     
------------------------------ ----------- 
Committed                      1339
Target                         6318
Hashed                         914
InternalReservation            120
ExternalReservation            0
Min Free                       16

(6 row(s) affected)
				
Зафиксировано. Общее количество буферов, которые фиксируются в корпорации Майкрософт Windows NT. Зафиксировано значение текущего "размер" буферного пула. Это значение включает объем памяти, который выделяется в том случае, если включены расширения AWE.

Целевой объект. Число зафиксированных целевой или размер буферного пула будет как быть. Если число целевых объектов превышает значение зафиксировано , возрастает буферного пула. Если целевой count меньше, чем значение зафиксировано , сжатие буферного пула. Процесс отложенной записи используется Это значение, чтобы определить, следует ли увеличение или уменьшение размера буферного пула.

Хэширован. Число страниц индексов и данных, хранящихся в буфере пул.

InternalReservation. Число страниц, которые остаются буферного пула для себя. Значение InternalReservation равно минимальное число страниц, необходимых для удовлетворения Текущее количество пользователей требует простых данных.

ExternalReservation. Число страниц, которые были зарезервированы для запросов, которые Выполняет сортировку или хэширования, однако, имеют не еще был украден. Это используется в качестве подсказки для отложенной записи, которая будет предстоящих потребность большой объем памяти.

Бесплатные мин. Количество страниц, буферный пул предпринимает попытку сохранить на свободный список. Если список свободных падает ниже значение Min бесплатно , буферный пул пытается заполнить список свободного по Удаление страниц из кэша данных или старых процедур из процедуры кэш.

Третий раздел

В третьем разделе приводятся состава кэша процедур.
Procedure Cache                Value       
------------------------------ ----------- 
TotalProcs                     17
TotalPages                     89
InUsePages                     40

(3 row(s) affected)
				
TotalProcs. Общее число кэшированных объектов в настоящее время в процедуре кэш. Это значение будет соответствовать число записей в виртуальной таблице syscacheobjects . Можно использовать системный монитор для наблюдения за SQL Подробный разбор типа объект диспетчера кэша: сервер кэширования объекты, для примера, процедуры, триггеры и ad hoc.

TotalPages. Общее количество страниц, которые необходимы для хранения всех кэшированные объекты.

InUsePages. Количество страниц в кэше процедур, которой принадлежат процедуры, которые в данный момент. Их нельзя отменить.

Четвертый раздел

Четвертый раздел описывает относительное распределение кражи буферы среди групп основных компонентов сервера. SQL Server реализует его владельцем руководителей, использующих страницы буферного пула на небольшие выделения памяти и выпадающие Назад к процедурам операционной системы только для выделения, размер которых превышает примерно 8 КБ. Эти большие распределяются вне буферного пула и они часто называются выделений из области MemToLeave . Размер этой области можно управлять с помощью параметра командной строки -g .

Как правило большая часть памяти выделения из MemToLeave , от потребителей памяти SQL Server не - под управлением в процессе как объекты COM, расширенные хранимые процедуры и связанные серверы. Относящиеся к операционной системе значений, указанных в инструкции DBCC MEMORYSTATUS отражают только выделений памяти MemToLeave , вносятся непосредственно в SQL Server. Любой другой распределения, которые происходят в MemToLeave этих других компонентов не включены, так как SQL Server. не имеет сведений о эти запросы памяти.
Dynamic Memory Manager         Buffers     
------------------------------ ----------- 
Stolen                         330
OS Reserved                    152
OS Committed                   138
OS In Use                      129
General                        322
QueryPlan                      87
Optimizer                      0
Utilities                      10
Connection                     40

(9 row(s) affected)
				
Кражи. Общее количество буферов, которые являются заимствованных из буферного пула Руководители пяти памяти (General, план запроса, оптимизатор, служебные программы, Подключение). Эти страницы, используемые для обслуживания выделения памяти меньше, чем 8 КБ.

Зарезервированные операционной системы. Число страниц, зарезервированных в операционной системе для обработки запросов на выделение, размер которых превышает приблизительно 8 КБ.

Зафиксирована операционной системы. Количество зарезервированных областей памяти, которая была зафиксированы. ОС фиксации значение должно быть меньше или равно значению Зарезервированные операционной системы , так как сначала зарезервированы и затем фиксируется буферов. Некоторые память может быть отобранный, когда он больше не используется.

Примечание Нет Ошибка в SQL Server 2000 (который, вошедших в Пакет обновления 3 для SQL Server 2000) в результате, это значение не позволяет поддерживать точность и, следовательно, его могут выходить за пределы допустимого диапазона.

Операционная система используется. Зафиксированных OS буферы, ожидающих обработки памяти в данный момент резервного распределения.

Общие. Память, которая используется потребителями общей памяти на сервере включая разбор или нормализации, блокировок, контекст транзакции, внутренние данные структур, описывающих метаданных в памяти для таблиц и индексов, а другие пользователи. Это значение является общее количество буферов по 8 KБ. Некоторые из них могут быть украденный буферы из буферного пула, а другие могут быть из MemToLeave.

QueryPlan. Память, используемая для хранения планов запросов, либо быстро или в кэш. Это значение является общее количество буферов по 8 KБ. Некоторые из них могут быть украденный буферы из буферного пула, а другие могут быть из MemToLeave.

Оптимизатор. Объем памяти, который используется оптимизатором запросов. Это значение равно Общее количество буферов по 8 KБ. Некоторые из них могут быть буферов, заимствованных из буферный пул, а другие могут быть из MemToLeave.

Служебные программы. Памяти, различные процедуры служебные программы, такие как BCP, журнал Менеджер, параллельные запросы :: fn_trace_gettableи др. Это значение является общее количество буферов по 8 KБ. Некоторые этого они могут быть украденных буферы из буферного пула, и другие могут быть из MemToLeave.

Подключение. Память, используемая для хранения данных структуры хранения контекст соединения для каждого соединения. Это также включает память сети, отправлять и получать буферы, связанных с подключением. Это значение является общее количество буферов по 8 KБ. Некоторые из них может быть похищена буферы из буферного пула и другие, возможно, от MemToLeave.

Ссылки

Электронная документация по SQL Server
Delaney Kalen. Внутри корпорации Майкрософт SQL Server 2000, Microsoft Press, 2000.

Свойства

Код статьи: 271624 - Последний отзыв: 29 апреля 2013 г. - Revision: 7.0
Информация в данной статье относится к следующим продуктам.
  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft SQL Server 7.0 Standard Edition
Ключевые слова: 
kbsqlsetup kbinfo kbmt KB271624 KbMtru
Переведено с помощью машинного перевода
ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.
Эта статья на английском языке: 271624

Отправить отзыв

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com