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

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

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

Примечание

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

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

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

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

Свойства

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

DefaultPagesCountToReuse

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

HandleIA64AlignmentFaults

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

HardMemoryLimit

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

HeapTypeForObjects

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

Параметр Описание
-1 Automatic (по умолчанию). Подсистема самостоятельно определяет, что следует использовать.
0 Куча LFH Windows.
1 Распределитель слотов Analysis Services.
3 Каждый объект имеет свою собственную кучу Analysis Services.
HighMemoryPrice

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

LowMemoryLimit

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

MemoryHeapType

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

Параметр Описание
-1 Automatic (по умолчанию). Подсистема самостоятельно определяет, что следует использовать.
1 Куча служб 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. Расширенное свойство для управления объемом памяти, который можно использовать во время запроса.

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

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

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

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

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

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

TotalMemoryLimit

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

VertiPaqMemoryLimit

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

VertiPaqPagingPolicy

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

Параметр Описание
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