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

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

В этой статье

Аннотация

В данной статье выходных данных команды 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. Выходные данные теперь содержит несколько разделов, которые недоступны в предыдущих версиях продукта.

для Windows V64

В первой части выходных данных используется диспетчер памяти. В этом разделе показано общее потребление памяти сервером 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)
Ниже перечислены элементы в этом разделе.
  • Зарезервировано виртуальной Машины: This value shows the overall amount of virtual address space (VAS) that SQL Server has reserved.
  • VM Committed: This value shows the overall amount of VAS that SQL Server has committed. VAS that is committed has been associated with physical memory.
  • AWE Allocated: This value shows the overall amount of memory that is allocated through the AWE mechanism on the 32-bit version of SQL Server. Or, this value shows the overall amount of memory that locked pages consume on the 64-bit version of the product.
  • Reserved Memory: This value shows the memory that is reserved for the dedicated administrator connection (DAC).
  • Reserved Memory In Use: This value shows the reserved memory that is being used.

Summary of memory usage

The Memory Manager section is followed by a summary of memory usage for each memory node. In a Non-uniform memory access (NUMA) enabled system, there will be a corresponding Memory node entry for each hardware NUMA node. In an SMP system, there will be a single Memory node entry.

Примечание.The memory node ID may not correspond to the hardware node ID.
   Memory node Id = 0             KB 
   ------------------------------ --------------------
   VM Reserved                    1757304
   VM Committed                   1659612
   AWE Allocated                  0
   MultiPage Allocator            10760
   SinglePage Allocator           73832

   (5 row(s) affected)
Примечание.These values show the memory that is allocated by threads that are running on this NUMA node. These values are not the memory that is local to the NUMA node.

The elements in this section are the following:
  • VM Reserved: This value shows the VAS that is reserved by threads that are running on this node.
  • VM Committed: This value shows the VAS that is committed by threads that are running on this node.
  • AWE Allocated: This value shows the memory that is allocated through the AWE mechanism on the 32-bit version of the product. Or, this value shows the overall amount of memory that is consumed by locked pages on the 64-bit version of the product.

    In a NUMA-enabled system, this value can be incorrect or negative. However, the overallAWE Allocatedvalue in the Memory Manager section is a correct value. To track memory that is allocated by individual NUMA nodes, useSQL Server: Buffer Nodeperformance objects. (Дополнительные сведения см.SQL Server Books Online.)
  • MultiPage Allocator: This value shows the memory that is allocated through the multipage allocator by threads that are running on this node. This memory comes from outside the buffer pool.
  • Распределитель SinglePage: This value shows the memory that is allocated through the single-page allocator by threads that are running on this node. This memory is stolen from the buffer pool.
Примечание.The sums of theVM Reservedvalues and theVM Committedvalues on all memory nodes will be slightly less than the corresponding values that are reported in the Memory Manager section.

Aggregate memory

The next section contains aggregate memory information for each clerk type and for each NUMA node. For a NUMA-enabled system, you may see output that is similar to the following.

Примечание.The following table contains only part of the output.
   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)
Примечание.These node IDs correspond to the NUMA node configuration of the computer that is running SQL Server. The node IDs include possible software NUMA nodes that are defined on top of hardware NUMA nodes or on top of an SMP system. To find mapping between node IDs and CPUs for each node, view Information event ID number 17152. This event is logged in the Application log in Event Viewer when you start SQL Server.

For an SMP system, you will see only one section for each clerk type. This section is similar to the following.
   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)
Other information in these sections is about shared memory:
  • SM Reserved: This value shows the VAS that is reserved by all clerks of this kind that are using the memory-mapped files API. This API is also known asshared memory.
  • SM Committed: This value shows the VAS that is committed by all clerks of this kind that are using memory-mapped files API.
You can obtain summary information for each clerk type for all memory nodes by using thesys.dm_os_memory_clerksdynamic management view (DMV). To do this, run the following query:
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

Buffer distribution

The next section shows the distribution of 8-kilobyte (KB) buffers in the buffer pool.
   Buffer Distribution            Buffers
   ------------------------------ -----------
   Stolen                         553
   Free                           103
   Cached                         161
   Database (clean)               1353
   Database (dirty)               38
   I/O                            0
   Latched                        0

   (7 row(s) affected)
The elements in this section are the following:
  • Stolen:Stolen memorydescribes 8-KB buffers that the server uses for miscellaneous purposes. These buffers serve as generic memory store allocations. Different components of the server use these buffers to store internal data structures. The lazywriter process is not permitted to flush Stolen buffers out of the buffer pool.
  • Освободите: This value shows committed buffers that are not currently being used. These buffers are available for holding data. Or, other components may request these buffers and then mark these buffers asStolen.
  • Cached: This value shows the buffers that are used for various caches.
  • Database (clean): This value shows the buffers that have database content and that have not been modified.
  • Database (dirty): This value shows the buffers that have database content and that have been modified. These buffers contain changes that must be flushed to disk.
  • I/O: This value shows the buffers that are waiting for a pending I/O operation.
  • Latched: This value shows thelatchedbuffers. A buffer is latched when a thread is reading or modifying the contents of a page. A buffer is also latched when the page is being read from disk or written to disk. A latch is used to maintain physical consistency of the data in the page while it is being read or modified. A lock is used to maintain logical and transactional consistency.

Buffer pool details

You can obtain detailed information about buffer pool buffers for database pages by using thesys.dm_os_buffer_descriptorsDMV. And you can obtain detailed information about buffer pool pages that are being used for miscellaneous server purposes by using thesys.dm_os_memory_clerksDMV.

The next section lists details about the buffer pool plus additional information.
   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)
The elements in this section are the following:
  • Committed: Это значение показывает общее буферов, которыезавершена. Буферов, которые фиксируются имеют физической памяти, связанных с ними. надписьюЗавершеназначение текущего размера буферного пула. Это значение включает в себя физической памяти, который выделяется при включении расширения AWE поддержки.
  • переноса.: Это значение показывает размер целевого буферного пула. Еслипереноса.значение больше, чемЗавершеназначение, растет буферного пула. Еслипереноса.значение меньше, чемЗавершеназначение, сжатие буферного пула.
  • Хэширование: Это значение показывает страниц данных и страниц индекса, которые хранятся в буферном пуле.
  • Веб-узел украденные потенциал: Это значение показывает максимальный страниц, которые могут быть заимствованных из буферного пула.
  • ExternalReservation: Это значение показывает страницы, которые были зарезервированы для запросов, для выполнения операции хэширования или операции сортировки. Эти страницы имеют не еще был украден.
  • Мин свободно: Это значение показывает страницы, которые пытается буферного пула на свободный список.
  • Видимый: Это значение показывает буферов, которые видны одновременно. Буфер может осуществляться непосредственно, в то же время. Это значение обычно равно общее буферов. Тем не менее если включена поддержка AWE, это значение может быть меньше общего буфера.
  • Доступные файла подкачки: Это значение показывает объем памяти, доступной для фиксации. Это значение выражается как количество буферов по 8 KБ. Для получения дополнительных сведений см. раздел «GlobalMemoryStatusEx функции» в документации по Windows API.

Кэш процедур

В следующем разделе описывается состава из кэша процедур.
   Procedure Cache                Value
   ------------------------------ -----------
   TotalProcs                     4
   TotalPages                     25
   InUsePages                     0

   (3 row(s) affected)
Ниже перечислены элементы в этом разделе.
  • TotalProcs: Это значение показывает общее кэшированные объекты, находящиеся в кэше процедур. Это значение будет соответствовать записиsys.dm_exec_cached_plansDMV.

    Примечание.Из-за динамической природы эту информацию совпадение не может быть точно. Можно использовать системный монитор для наблюденияSQL Server: Кэш плановобъект,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: Это значение показывает объем памяти, используемый для выделения отдельного потока структура определенного механизма хранения данных, которая использует локальное хранилище потока.
  • Allocators SE набора данных: Это значение показывает объем памяти, используемый для выделения структуры для доступа к таблице черезМетоды доступаПараметр.
  • SubpDesc Allocators: This value shows the memory that is used for managing subprocesses for parallel queries, backup operations, restore operations, database operations, file operations, mirroring, and asynchronous cursors. These subprocesses are also known asparallel processes.
  • SE SchemaManager: This value shows the memory that Schema Manager uses to store Storage Engine-specific metadata.
  • SQLCache: This value shows the memory that is used to store the text of ad hoc statements and of prepared statements.
  • Репликация: This value shows the memory that the server uses for internal replication subsystems.
  • ServerGlobal: This value shows the global server memory object that is used generically by several subsystems.
  • XP Global: This value shows the memory that extended stored procedures use.
  • Sort Tables: This value shows the memory that sort tables use.

Query memory objects

The next section describes Query Memory grant information. This section includes a snapshot of the query memory usage. Query memory is also known asworkspace memory.
   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)
If the size and the cost of a query satisfy “small” query memory thresholds, the query is put in a small query queue. This behavior prevents smaller queries from being delayed behind larger queries that are already in the queue.

Ниже перечислены элементы в этом разделе.
  • Grants: This value shows the running queries that have memory grants.
  • Ожидание: This value shows the queries that are waiting to obtain memory grants.
  • Доступна: This value shows the buffers that are available to queries for use as hash workspace and as sort workspace. надписьюДоступнаvalue is updated periodically.
  • Максимум: This value shows the total buffers that can be given to all queries for use as workspace.
  • предел: This value shows the query execution target for the big query queue. This value differs from theMaximum (Buffers)value because theMaximum (Buffers)value is not updated until there is change in the queue.
  • Next Request: This value shows the memory request size, in buffers, for the next waiting query.
  • Waiting For: This value shows the amount of memory that must be available to run the query to which theNext Requestvalue refers. надписьюWaiting Forvalue is theNext Requestvalue multiplied by a headroom factor. This value effectively guarantees that a specific amount of memory will be available when the next waiting query is run.
  • Cost: This value shows the cost of the next waiting query.
  • Timeout: This value shows the time-out, in seconds, for the next waiting query.
  • Wait Time: This value shows the elapsed time, in milliseconds, since the next waiting query was put in the queue.
  • Last Target: This value shows the overall memory limit for query execution. This value is the combined limit for both the big query queue and the small query queue.

Optimization

The next section is a summary of the users who are trying to optimize queries at the same time.
   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)
Queries are submitted to the server for compilation. The compilation process includes parsing, algebraization, and optimization. Queries are classified based on the amount of memory that each query will consume during the compilation process.

Примечание.This amount does not include the memory that is required to run the query.

When a query starts, there is no limit on how many queries can be compiled. As the memory consumption increases and reaches a threshold, the query must pass a gateway to continue. There is a progressively decreasing limit of simultaneously compiled queries after each gateway. The size of each gateway depends on the platform and the load. Gateway sizes are chosen to maximize scalability and throughput.

If the query cannot pass a gateway, the query will wait until memory is available. Or, the query will return a time-out error (Error 8628). Additionally, the query may not acquire a gateway if the user cancels the query or if a deadlock is detected. If a query passes several gateways, the query does not release the smaller gateways until the compilation process has completed.

This behavior lets only a few memory-intensive compilations occur at the same time. Additionally, this behavior maximizes throughput for smaller queries.

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

Следующих трех разделах отображаются сведения о памяти брокеры, элемент управления в кэше памяти, украденный памяти и зарезервированной памяти. Эти разделы содержат сведения могут использоваться только для внутренней диагностики. Таким образом эта информация не подробно здесь.
   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)

Свойства

Код статьи: 907877 - Последний отзыв: 27 ноября 2010 г. - Revision: 2.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
Ключевые слова: 
kbsql2005engine kbtshoot kbinfo kbmt KB907877 KbMtru
Переведено с помощью машинного перевода
ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.
Эта статья на английском языке:907877

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

 

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