Поделиться через


Свойства памяти

Применимо к: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium

Службы Analysis Services предварительно выделяет скромный объем памяти при запуске, чтобы запросы могли обрабатываться немедленно. Дополнительная память выделяется при увеличении рабочих нагрузок запросов и обработки. Указав параметры конфигурации, можно контролировать пороговые значения, в которых освобождается память.

Замечание

QueryMemoryLimit — это единственное свойство памяти, которое применяется к Power BI.

Конфигурация памяти по умолчанию

В конфигурации по умолчанию каждый экземпляр выделяет небольшой объем ОЗУ (40 МБ до 50 МБ) при запуске, даже если экземпляр неактивен. Параметры конфигурации — на экземпляр. Если выполняется несколько экземпляров, например табличный и многомерный экземпляр на одном оборудовании, каждый экземпляр будет выделять собственную память независимо от других экземпляров.

Setting Description
LowMemoryLimit Для многомерных экземпляров более низкий порог, с которого сервер сначала начинает выпускать память, выделенную для редко используемых объектов.
VertiPaqMemoryLimit Для табличных экземпляров ниже пороговое значение, с которого сервер сначала начинает выпускать память, выделенную для редко используемых объектов.
TotalMemoryLimit Верхний порог, с которого службы Analysis Services начинают выпускать память более агрессивно, чтобы освободить место для запросов, выполняемых, а также новых запросов с высоким приоритетом.
HardMemoryLimit Еще одним пороговым значением, с которого службы Analysis Services начинают отклонять запросы прямо из-за нехватки памяти.

Свойства

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

DefaultPagesCountToReuse

Дополнительное свойство, которое не следует изменять, за исключением рекомендаций службы поддержки Майкрософт.

HandleIA64AlignmentFaults

Дополнительное свойство, которое не следует изменять, за исключением рекомендаций службы поддержки Майкрософт.

HardMemoryLimit

Задает порог памяти, после которого экземпляр агрессивно завершает активные пользовательские сеансы для уменьшения использования памяти. Все завершенные сеансы получат ошибку об отмене с помощью давления памяти. Значение по умолчанию , ноль (0), означает, что HardMemoryLimit будет иметь среднее значение между TotalMemoryLimit и общей физической памятью системы; Если физическая память системы больше виртуального адресного пространства процесса, вместо этого будет использоваться виртуальное адресное пространство для вычисления HardMemoryLimit. Это значение не настраивается для Служб Azure Analysis Services.

HeapTypeForObjects

Дополнительное свойство, которое не следует изменять, за исключением рекомендаций службы поддержки Майкрософт. Допустимые значения приведены следующим образом:

Setting Description
-1 (по умолчанию) Автоматически. Модуль решит, какой из них следует использовать.
0 Куча Windows LFH.
1 Распределитель слотов служб Analysis Services.
3 Каждый объект имеет собственную кучу служб Analysis Services.
HighMemoryPrice

Дополнительное свойство, которое не следует изменять, за исключением рекомендаций службы поддержки Майкрософт.

LowMemoryLimit

Подписанное 64-разрядное свойство числа с плавающей запятой двойной точности, определяющее первое пороговое значение, с которого службы Analysis Services начинает выпускать память для объектов с низким приоритетом, таких как редко используемый кэш. После выделения памяти сервер не освобождает память ниже этого предела. Значение по умолчанию — 65; это означает, что ограничение памяти составляет 65% физической памяти или виртуального адресного пространства, в зависимости от того, что меньше.

MemoryHeapType

Дополнительное свойство, которое не следует изменять, за исключением рекомендаций службы поддержки Майкрософт. Допустимые значения в SQL Server 2016 с пакетом обновления 1 (SP1) и более поздних версий служб Analysis Services приведены следующим образом:

Setting Description
-1 (по умолчанию) Автоматически. Модуль решит, какой из них следует использовать.
1 HEAP служб Analysis Services.
2 Windows LFH.
5 Гибридный распределитель. Этот распределитель будет использовать Windows LFH для <= 16 КБ выделения и кучу AS для >выделения 16 КБ.
6 Распределитель Intel TBB. Доступно в службах ANALYSIS Services SQL Server 2016 с пакетом обновления 1 (SP1) и более поздних версий.
MidMemoryPrice

Дополнительное свойство, которое не следует изменять, за исключением рекомендаций службы поддержки Майкрософт.

MinimumAllocatedMemory

Дополнительное свойство, которое не следует изменять, за исключением рекомендаций службы поддержки Майкрософт.

PreAllocate

Дополнительное свойство, которое не следует изменять, за исключением рекомендаций службы поддержки Майкрософт.

QueryMemoryLimit

Применяется только к Службам Power BI, Службам Azure Analysis Services и SQL Server 2019 и более поздним версиям служб Analysis Services. Расширенное свойство для управления объемом памяти во время запроса.

В SQL Server 2019 и более поздних версиях Служб Analysis Services этот параметр применяется только к пулам памяти, в которых во время обработки запросов создаются промежуточные результаты запроса DAX. Он не применяется к запросам многомерных выражений.

В Power BI, Службах Azure Analysis Services и SQL Server 2022 и более поздних версиях Служб Analysis Services, если включено свойство КомпонентаResourceTrackingEnabled, этот параметр не ограничивается только пулями памяти. Он применяется ко всей памяти, используемой как запросами DAX, так и многомерными выражениями только в табличном режиме.

Указан в процентах до 100. Если более 100, это в байтах. Установка значения 0 означает, что ограничение не указано.

Для Служб Azure Analysis Services значение по умолчанию определяется планом.

Plan По умолчанию
D1 80
Все остальные 20
SessionMemoryLimit

Дополнительное свойство, которое не следует изменять, за исключением рекомендаций службы поддержки Майкрософт.

TotalMemoryLimit

Определяет пороговое значение, которое достигается, приводит к тому, что сервер отменяет выделение памяти для других запросов. По достижении этого предела экземпляр начнет медленно очищать память из кэша, закрывая истекшие сеансы и выгрузив неиспользуемые вычисления. Для служб SQL Server Analysis Services значение по умолчанию — 80% физической памяти или виртуального адресного пространства, в зависимости от того, что меньше. Значение по умолчанию для Служб Azure Analysis Services основано на плане и не настраивается. TotalMemoryLimit всегда должен быть меньше , чем HardMemoryLimit.

VertiPaqMemoryLimit

Только для табличных экземпляров, если разрешено разбиение на диск, это свойство указывает уровень потребления памяти (в процентах от общего объема памяти), с которого начинается разбиение по страницам. Значение по умолчанию равно 60. Если потребление памяти меньше 60 процентов, сервер не будет страницы на диск. Это свойство зависит от VertiPaqPagingPolicyProperty, которое должно иметь значение 1 для выполнения разбиения по страницам.

VertiPaqPagingPolicy

Только для табличных экземпляров указывает поведение разбиения на страницы в случае, если сервер работает с низкой памятью. Допустимые значения приведены следующим образом:

Setting Description
0 (по умолчанию для Служб Azure Analysis Services и Power BI) Отключает разбиение по страницам. Если память недостаточно, обработка завершается ошибкой без памяти. Если вы отключите разбиение по страницам, необходимо предоставить права Windows учетной записи службы. Инструкции см. в разделе "Настройка учетных записей служб" (Службы Analysis Services ).
1 (по умолчанию для служб SQL Server Analysis Services) Это свойство позволяет выполнять разбиение на диск с помощью файла страниц операционной системы (pagefile.sys).

Если задано значение 1, обработка может завершиться сбоем из-за ограничений памяти, так как сервер попытается выполнить страницу на диск с помощью указанного метода. Установка свойства VertiPaqPagingPolicy не гарантирует, что ошибки памяти никогда не произойдут. Ошибки нехватки памяти по-прежнему могут возникать в следующих условиях:

  • Недостаточно памяти для всех словарей. Во время обработки сервер блокирует словари для каждого столбца в памяти, и все они вместе не могут быть больше, чем значение, указанное для VertiPaqMemoryLimit.

  • Для размещения процесса недостаточно виртуального адресного пространства.

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

VirtualMemoryLimit

Дополнительное свойство, которое не следует изменять, за исключением рекомендаций службы поддержки Майкрософт.

WaitCountIfHighMemory

Дополнительное свойство, которое не следует изменять, за исключением рекомендаций службы поддержки Майкрософт.

См. также

Свойства сервера в службах Analysis Services
Определение режима сервера экземпляра служб Analysis Services