Windows memory available bytes

Наблюдение за использованием памяти Monitor memory usage

Применимо к: Applies to: SQL Server SQL Server (все поддерживаемые версии) SQL Server SQL Server (all supported versions) Применимо к: Applies to: SQL Server SQL Server (все поддерживаемые версии) SQL Server SQL Server (all supported versions)

Проводите периодический мониторинг экземпляра SQL Server SQL Server для подтверждения того, что память используется в допустимых пределах. Monitor an instance of SQL Server SQL Server periodically to confirm that memory usage is within typical ranges.

Настройка максимального размера памяти для SQL Server SQL Server Configuring SQL Server SQL Server max memory

По умолчанию экземпляр SQL Server SQL Server может со временем использовать большую часть памяти, доступной операционной системе Windows на сервере. By default, a SQL Server SQL Server instance may over time consume most of the available Windows operating system memory in the server. После занятия памяти она не высвобождается, пока не будет обнаружена нехватка памяти. Once the memory is acquired, it will not be released unless memory pressure is detected. Такое поведение является нормальным и не свидетельствует об утечке памяти в процессе SQL Server SQL Server . This is by design and does not indicate a memory leak in the SQL Server SQL Server process. Чтобы ограничить объем памяти, который сервер SQL Server SQL Server может использовать в своих целях, задайте параметр max server memory. Use the max server memory option to limit the amount of memory that SQL Server SQL Server is allowed to acquire for most of its uses. Дополнительные сведения см. в статье Руководство по архитектуре управления памятью. For more information, see the Memory Management Architecture Guide.

В SQL Server на Linux установить ограничение памяти можно с помощью средства mssql-conf и параметра memory.memorylimitmb. In SQL Server on Linux, set the memory limit with the mssql-conf tool and the memory.memorylimitmb setting.

Наблюдение за памятью операционной системы Monitor operating system memory

Для отслеживания нехватки памяти используйте приведенные ниже счетчики Windows. To monitor for a low-memory condition, use the following Windows server counters. Значения многих счетчиков памяти операционной системы можно запрашивать с помощью динамических административных представлений sys.dm_os_process_memory и sys.dm_os_sys_memory. Many operating system memory counters can be queried via the dynamic management views sys.dm_os_process_memory and sys.dm_os_sys_memory.

Память: доступно байтов Memory: Available Bytes
Этот счетчик указывает на то, сколько байт памяти доступно на данный момент для использования процессами. This counter indicates how many bytes of memory are currently available for use by processes. Низкие значения счетчика Доступно байтов могут указывать на общую нехватку памяти операционной системы. Low values for the Available Bytes counter can indicate an overall shortage of operating system memory. Это значение можно запросить с помощью T-SQL из sys.dm_os_sys_memory.available_physical_memory_kb. This value can be queried via T-SQL using sys.dm_os_sys_memory.available_physical_memory_kb.

Память: страниц/с Memory: Pages/sec
Этот счетчик показывает число страниц, которые были или получены с диска из-за ошибок страниц физической памяти, или записаны на диск для освобождения пространства в рабочем множестве из-за ошибок страниц. This counter indicates the number of pages that either were retrieved from disk due to hard page faults or written to disk to free space in the working set due to page faults. Большое значение счетчика Страниц/с может означать излишнюю подкачку. A high rate for the Pages/sec counter could indicate excessive paging.

Читайте также:  Ошибки windows синий экран 0x0000004e

Память: ошибок страницы/с Этот счетчик показывает частоту ошибок страниц для всех процессов, включая системные. Memory: Page Faults/sec This counter indicates the rate of Page Faults for all processes including system processes. Низкий, но не нулевой уровень выгрузки на диск (и вызванные ею ошибки страниц) является нормальным, даже если у компьютера достаточно большое количество доступной памяти. A low but non-zero rate of paging to disk (and hence page faults) is typical, even if the computer has plenty of available memory. Диспетчер виртуальной памяти (VMM) Microsoft Windows берет страницы из SQL Server SQL Server и других процессов по мере того, как он урезает размеры рабочих множеств этих процессов. The Microsoft Windows Virtual Memory Manager (VMM) takes pages from SQL Server SQL Server and other processes as it trims the working-set sizes of those processes. Деятельность VMM может привести к ошибкам страниц. This VMM activity tends to cause page faults.

Процесс: ошибок страницы/с Этот счетчик показывает частоту ошибок страниц для определенного пользовательского процесса. Process: Page Faults/sec This counter indicates the rate of Page Faults for a given user process. С помощью счетчика Процесс: ошибок страниц/с можно определить, вызвана ли повышенная активность диска подкачкой, выполняемой сервером SQL Server SQL Server . Monitor Process: Page Faults/sec to determine if disk activity is caused by paging by SQL Server SQL Server . Чтобы определить, является ли SQL Server SQL Server или другой процесс причиной излишней подкачки, наблюдайте за счетчиком Процесс: ошибок страниц/с для экземпляра процесса SQL Server SQL Server . To determine whether SQL Server SQL Server or another process is the cause of excessive paging, monitor the Process: Page Faults/sec counter for the SQL Server SQL Server process instance.

Дополнительные сведения об устранении проблемы излишней подкачки см. в документации по операционной системе. For more information about resolving excessive paging, see the operating system documentation.

Изоляция памяти, используемой SQL Server SQL Server Isolating memory used by SQL Server SQL Server

Для мониторинга использования памяти сервером SQL Server SQL Server используйте приведенные ниже счетчики объектов SQL Server. To monitor SQL Server SQL Server memory usage, use the following SQL Server object counters. Значения многих счетчиков объектов SQL Server можно запрашивать с помощью динамических административных представлений sys.dm_os_performance_counters и sys.dm_os_process_memory. Many SQL Server object counters can be queried via the dynamic management views sys.dm_os_performance_counters or sys.dm_os_process_memory.

По умолчанию сервер SQL Server SQL Server управляет требованиями к памяти динамически исходя из доступных ресурсов системы. By default, SQL Server SQL Server manages its memory requirements dynamically, based on available system resources. Если SQL Server SQL Server нужно больше памяти, он производит запрос к операционной системе, чтобы определить, доступна ли свободная физическая память, и использует ее. If SQL Server SQL Server needs more memory, it queries the operating system to determine whether free physical memory is available and uses the available memory. Если в операционной системе недостаточно свободной памяти, SQL Server SQL Server будет освобождать память для операционной системы до тех пор, пока нехватка памяти не будет устранена или пока SQL Server SQL Server не достигнет предела min server memory. If there is low free memory for the OS, SQL Server SQL Server will release memory back to the operating system until the low memory condition is alleviated, or until SQL Server SQL Server reaches the min server memory limit. Однако можно отказаться от динамического использования памяти, задав значения для параметров конфигурации сервера min server memory и max server memory. However, you can override the option to dynamically use memory by using the min server memory, and max server memory server configuration options. Дополнительные сведения см. в разделе Параметры памяти сервера. For more information, see Server Memory Options.

Читайте также:  Настройка windows media player для dlna

Для мониторинга объема памяти, используемого SQL Server SQL Server , наблюдайте за следующими счетчиками производительности. To monitor the amount of memory that SQL Server SQL Server uses, examine the following performance counters:

SQL Server: Memory Manager: общая память сервера (КБ) SQL Server: Memory Manager: Total Server Memory (KB)
Этот счетчик показывает объем памяти операционной системы, выделенной в настоящее время серверу SQL Server SQL Server диспетчером памяти SQL Server SQL Server . This counter indicates the amount of the operating system’s memory the SQL Server SQL Server memory manager currently has committed to SQL Server SQL Server . Данное значение, как правило, увеличивается при повышении активности и растет после запуска SQL Server. This number is expected to grow as required by actual activity, and will grow following SQL Server startup. Получить этот счетчик можно из столбца committed_kb динамического административного представления sys.dm_os_sys_info. Query this counter using the sys.dm_os_sys_info dynamic management view, observing the committed_kb column.

SQL Server: Memory Manager: память целевого сервера (КБ) SQL Server: Memory Manager: Target Server Memory (KB)
Этот счетчик показывает идеальный объем памяти для SQL Server SQL Server в соответствии с рабочей нагрузкой за последнее время. This counter indicates an ideal amount of memory SQL Server SQL Server could consume, based on recent workload. Чтобы определить, выделен ли для сервера SQL Server SQL Server оптимальный объем памяти, сравните это значение со счетчиком Общая память сервера по истечении некоторого периода работы со стандартной нагрузкой. Compare to Total Server Memory after a period of typical operation to determine whether SQL Server SQL Server has a desired amount of memory allocated. Значения счетчиков Общая память сервера и Память целевого сервера должны быть примерно равны. After typical operation, Total Server Memory and Target Server Memory should be similar. Если значение Общая память сервера значительно меньше, чем значение Память целевого сервера, возможно, экземпляру SQL Server SQL Server не хватает памяти. If Total Server Memory is significantly lower than Target Server Memory, the SQL Server SQL Server instance may be experiencing memory pressure. Через некоторое время после запуска SQL Server SQL Server значение Общая память сервера возрастает. При этом значение Память целевого сервера должно быть больше, чем Общая память сервера. During a period after SQL Server SQL Server is started, Total Server Memory is expected to be lower than Target Server Memory, as Total Server Memory grows. Получить этот счетчик можно из столбца committed_target_kb динамического административного представления sys.dm_os_sys_info. Query this counter using the sys.dm_os_sys_info dynamic management view, observing the committed_target_kb column. Дополнительные сведения и рекомендации по настройке памяти см. в статье Параметры конфигурации памяти сервера. For more information and best practices configuring memory, see the Server memory configuration options.

Процесс: рабочий набор Process: Working Set
Этот счетчик показывает объем физической памяти, используемой процессом в настоящее время, согласно данным операционной системы. This counter indicates the amount of physical memory that is in use by a process currently, according to the operating system. Обратите внимание на экземпляр этого счетчика для sqlservr.exe. Observe the sqlservr.exe instance of this counter. Получить этот счетчик можно из столбца physical_memory_in_use_kb динамического административного представления sys.dm_os_process_memory. Query this counter using the sys.dm_os_process_memory dynamic management view, observing the physical_memory_in_use_kb column.

Процесс: байт исключительного пользования Process: Private Bytes
Этот счетчик показывает объем памяти операционной системы, запрошенный процессом для использования в собственных целях. This counter indicates the amount of memory that a process has requested for its own use to the operating system. Обратите внимание на экземпляр этого счетчика для sqlservr.exe. Observe the sqlservr.exe instance of this counter. Так как этот счетчик учитывает все выделения памяти, запрошенные процессом sqlservr.exe, включая выходящие за пределы max server memory, его значение может превышать значение параметра max server memory. Because this counter includes all memory allocations requested by sqlservr.exe, including those not limited by the max server memory option, this counter can report values larger than the max server memory option.

Читайте также:  Как поменять окно загрузки windows

SQL Server: Buffer Manager: страниц базы данных SQL Server: Buffer Manager: Database Pages
Этот счетчик указывает число страниц с содержимым базы данных в буферном пуле. This counter indicates the number of pages in the buffer pool with database content. Память, не относящаяся к буферному пулу процесса SQL Server, не учитывается. Does not include other nonbuffer pool memory within the SQL Server process. Запросить этот счетчик можно из динамического административного представления sys.dm_os_performance_counters. Query this counter using the sys.dm_os_performance_counters dynamic management view.

SQL Server: Buffer Manager: коэффициент попаданий в буферный кэш SQL Server: Buffer Manager: Buffer Cache Hit Ratio
Этот счетчик относится только к SQL Server SQL Server . This counter is specific to SQL Server SQL Server . Желательно, чтобы коэффициент был не меньше 90. A ratio of 90 or higher is desirable. Значение выше 90 указывает на то, что более 90 процентов всех запрошенных данных были получены из кэша данных в памяти без считывания с диска. A value greater than 90 indicates that more than 90 percent of all requests for data were satisfied from the data cache in memory without having to read from disk. Дополнительные сведения о диспетчере буферов SQL Server см. в статье SQL Server, объект Buffer Manager. Find more information on the SQL Server Buffer Manager, see the SQL Server Buffer Manager Object. Запросить этот счетчик можно из динамического административного представления sys.dm_os_performance_counters. Query this counter using the sys.dm_os_performance_counters dynamic management view.

SQL Server: Buffer Manager: ожидаемое время существования страницы SQL Server: Buffer Manager: Page life expectancy
Этот счетчик измеряет, сколько секунд самая старая страница находится в буферном пуле. This counter measures amount of time in seconds that the oldest page stays in the buffer pool. Для систем с архитектурой NUMA это среднее значение для всех узлов NUMA. For systems that use a NUMA architecture, this is the average across the all NUMA nodes. Чем больше это значение, тем лучше. A higher, growing value is best. Его резкое падение указывает на постоянное обновление данных в буферном пуле, из-за которого рабочая нагрузка недостаточно эффективно использует данные, уже находящиеся в памяти. A sudden dip indicates a significant churn of data in and out of the buffer pool, indicating the workload could not fully benefit from data already in memory. У каждого узла NUMA имеется собственный узел буферного пула. Each NUMA node has its own node of the buffer pool. На серверах с несколькими узлами NUMA узнать ожидаемое время существования страницы для каждого узла буферного пула можно с помощью счетчика SQL Server: узел буфера: ожидаемое время существования страницы. On servers with more than one NUMA node, view each buffer pool node’s page life expectancy using SQL Server: Buffer Node: Page life expectancy. Запросить этот счетчик можно из динамического административного представления sys.dm_os_performance_counters. Query this counter using the sys.dm_os_performance_counters dynamic management view.

Примеры Examples

Определение текущего распределения памяти Determining current memory allocation

Приведенные ниже запросы возвращают сведения о текущем распределении памяти. The following queries return information about currently allocated memory.

Определение текущего объема памяти, используемого сервером SQL Server Determining current SQL Server memory utilization

Приведенный ниже запрос возвращает сведения о текущем использовании памяти сервером SQL Server. The following query returns information about current SQL Server memory utilization.

Оцените статью