Managing memory of Analysis Services instance

Configuring the memory of your instance Analysis Services

Microsoft Analysis Services (SSAS) has a capacity to improve performance by making data in cache. SSAS can benefit from increased physical memory. You will find below a summary of the limits of memory 32Bit and 64Bit.

If your operating system and Analysis Service are in 32Bit
By default in a 32bit environment, the process "Analysis Service" is limited to 2 GB of memory.

The modification of the / 3GB memory pushes the limits by default. If you want to allocate more than 2Gb to "Analysis Service", you can add the / 3GB switch in the boot.ini to allow "Analysis Service" to use up to 3 GB of memory. Keep in mind that the / 3GB switch reduces the memory available by the Kernel to 1Gb and thus system contention problems can occur.

CautionIf the machine has more than the 16Gb / 3GB is not supported.
The 3GB switch will impact all the software on the server that can allocates more than 2Gb. Such as SQL Server Engine

Example :
- By default: 2Gb virtual memory for process SSAS and 2Gb for the Kernel.
- /3GB : 3Gb of virtual memory for process SSAS and 1GB for kernel

If your operating system is in 64Bit and Analysis Service in 32 Bit
If your system is operating in 64-bit and Analysis Service in 32 bits, so the process "Analysis Service" is limited to 4 GB of memory.

If your operating system and Analysis Service are in 64Bit
For 64-bit machine, you have no limitations, other than that you configured in the properties of the SSAS instance (and of course the available memory on the machine)

Configuring an instance SSAS
You can configure the properties for your SSAS instance from the configuration file MSMDSRV.INI. Before you make a configuration change, you should always make a backup of the file:% \ Microsoft SQL Server \ "Instance Name" \ OLAP \ Config \ msmdsrv.ini. All changes are taken into account immediately after you save the file and without restarting the instance.

By default an instance "Analysis Service" is set to assume almost all of the memory. The default values are appropriate for the majority of servers that have a single instance and OLAP (Analysis Services). From the moment or you  add an additional instance of OLAP or SQL Server in your server, you must change some settings.

As for SQL Server with the parameter MEMORY MAX(https://msdn.microsoft.com/en-us/library/ms178067.aspx ), We recommend that you change the property values of the memory instance "Analysis Service" on your server multi-instances. All the properties below the value of which is less than 100 are in% while all values greater than or equal to 100 are in Bytes:

TotalMemoryLimit : 85
LowMemoryLimit : 75

Unlike SQL Server, the value TotalMemoryLimit is not an absolute limit because SSAS can  run a query or processing far exceed this value. Take this as an objective value that the engine is fixed.

Configuración de la memoria de su instancia Analysis Services

Microsoft Analysis Services (SSAS) tiene una capacidad para mejorar el rendimiento al hacer que los datos almacenados en caché.SSAS puede tomar ventaja de aumentar la memoria física. A continuación encontrará un resumen de los límites de memoria eb 32-Bit y 64-Bit.

Si su sistema operativo y Analysis Service estan en 32-Bit
De forma predeterminada en un entorno de 32 bit, el proceso de "Servicio de Análisis" está limitado a 2 GB de memoria.

La modificación del parámetro / 3GB empuja los límites de forma predeterminada. Si desea asignar más de 2GB en el procedimiento "Servicio de Análisis", puede agregar el modificador / 3GB en el boot.ini para permitir "Servicio de Análisis"  de utilizar hasta 3 GB de memoria. Tenga en cuenta que el modificador / 3GB se reduce la memoria disponible por el Kernel de 1Gb y por lo tanto los problemas de contención del sistema  se puede producir.

AtenciónSi el equipo tiene más que el de 16 GB de memoria, la opción / 3GB no es compatible.
La opción 3 GB tendrá un impacto todo el software en el servidor que asigna la posibilidad de más de 2Gb. Como el motor de SQL Server

Ejemplo :
- Por defecto: 2 Gb de memoria virtual para le proceso  SSAS y  2GB para el Kernel.
- /3GB : 3 Gb de memoria virtual para el proceso  SSAS y 1 GB para el Kernel

Si su sistema operativo está en 64-Bit y Analysis Service en 32-Bit
Si el sistema está operando en 64-bit y Servicio de Análisis en 32 bits, por lo que el proceso de "Servicio de Análisis" se limita a 4 GB de memoria.

Si su sistema operativo y Analysis Service estan en 64-Bit
Para las máquinas 64-bits, que no tienen ninguna limitación, salvo que haya configurado en las propiedades de la instancia de SSAS (y por supuesto la memoria disponible en la máquina)

Configuración de una instancia de SSAS
Puede configurar las propiedades de la instancia de SSAS del archivo de configuración MSMDSRV.INI. Antes de realizar un cambio de configuración, que deberá realizar una copia de seguridad del fichero:% \ Microsoft SQL Server \ "Nombre de instancia" \ OLAP \ Config msmdsrv.ini \. Todos los cambios son tomados en cuenta inmediatamente después de guardar el archivo y sin necesidad de reiniciar la instancia.

De forma predeterminada una instancia "Servicio de Análisis" está ajustado a asumir la casi totalidad de la memoria. Los valores predeterminados son apropiados para la mayoría de los servidores que tienen una sola instancia y OLAP (Analysis Services). Desde el momento en que usted o agregar una instancia adicional de OLAP o SQL Server, debe cambiar algunas opciones.

En cuanto a SQL Server con el parámetro MAX MEMORIA (https://msdn.microsoft.com/es-es/library/ms178067.aspx ), Le recomendamos que cambie el valor de las propiedades de la instancia de la memoria "Servicio de Análisis" en su servidor multi-intencias. Todos los inmuebles por debajo del valor de los cuales es menor de 100%, mientras que se encuentran en todos los valores superiores o iguales a 100 se encuentran en bytes:

TotalMemoryLimit : 85
LowMemoryLimit : 75

A diferencia de SQL Server, el TotalMemoryLimit valor no es un límite absoluto, porque puede SSAS a la ejecución de una consulta o un tratamiento muy superiores a este valor. Toma esto como un valor objetivo que el motor es fijo.

Configuration de la mémoire de votre instance Analysis Services

Microsoft Analysis Service (SSAS) a une capacité d’amélioration des performances par la mise à en cache de données. SSAS peut tirer parti d’une augmentation de la mémoire physique. Vous trouverez ci-dessous un résumé des limites de la mémoire en 32Bit et 64 Bit.

Si votre OS et Analysis Service sont en 32Bit
Par défaut dans un environnement 32bit, le process « Analysis Service » est limité à 2 Gb de mémoire.

La modification du paramètre /3GB repousse les limites mémoires par défaut. Si vous souhaitez attribuer plus de 2Gb à l’instance « Analysis Service », vous pouvez ajouter l’option /3GB dans le boot.ini afin de permettre à « Analysis Service » d’utiliser au maximum 3 Gb de mémoire. Garder à l'esprit que le /3GB reduit la mémoire disponible par le Kernel à 1Gb et donc des problèmes de contention system peut se produire.

AttentionSi la machine dispose de plus de 16Gb le /3GB n’est pas supporté.
L'option 3GB va impacter tous les logiciels sur le serveur qui ont la possibilité de s'allouer plus de 2Gb. Comme par exemple SQL Server Engine

Exemple :
- Par défault : 2Gb de mémoire virtuel pour le process SSAS et 2Gb pour le Kernel.
- /3GB : 3Gb de mémoire virtuel pour le process SSAS et 1Gb pour le Kernel

Si votre OS est en 64Bit et Analysis Service en 32 Bit
Si l’OS est en 64-Bit et Analysis Service en 32-Bit alors le process « Analysis Service » est limité à 4 Go de mémoire.

Si votre OS et Analysis Service sont en 64Bit
Pour toute machine en 64-Bit, vous n’avez plus de limitation, autres celles que vous aurez configurées dans les propriétés de l’instance SSAS (et bien sur la mémoire disponible sur la machine)

Configuration d’une instance SSAS
Vous pouvez configurer les propriétés de votre instance SSAS à partir du fichier de configuration MSMDSRV.INI. Avant de faire une modification de la configuration, vous devez toujours faire un backup du fichier : %\Microsoft SQL Server\ “Instance Name”\OLAP\Config\msmdsrv.ini. Toutes les modifications sont prises en compte immédiatement après l’enregistrement du fichier et sans redémarrage de l’instance.

Par défaut une instance « Analysis Service » est configurée pour s’attribuer la quasi totalité de la mémoire. Les valeurs par défaut sont adaptées à la majorité des serveurs qui ont une et une seul instance OLAP (Analysis Service). A partir ou du moment où vous ajoutez une instance supplémentaire OLAP ou SQL Server, vous devez impérativement changer certain paramètres.

Comme pour SQL Server avec le paramètre MAX MEMORY (https://msdn.microsoft.com/fr-fr/library/ms178067.aspx ), nous vous recommandons de changer les valeurs des propriétés mémoires de l’instance « Analysis Service » sur vos serveurs multi-instances. Toutes les propriétés ci-dessous dont la valeur est inférieure à 100 sont en % alors que toutes les valeurs supérieur ou égale à 100 sont en Bytes :

TotalMemoryLimit : 85
LowMemoryLimit : 75

Contrairement à SQL Server, la valeur TotalMemoryLimit n'est pas une limite absolue, car SSAS peut pour l'exécution d'une requête ou un processing dépasser largement cette valeur. Il faut prendre cette valeur comme un objectif que le moteur se fixe.

Michel Degremont| Microsoft EMEA
Product Support Services Developer -SQL Server Core Engineer |