SSAS error “The operation has been cancelled because there is not enough memory for the application” when there is still a lot of memory available

In SQL Server Analysis Services (SSAS), you may encounter the following error message in the \Log\msmdsrv.log file.

Error(s): Server: The operation has been cancelled because there is not enough memory for the application. If using a 32-bit version of the product, consider upgrading to 64-bit version, or increasing the amount of memory available on the machine.

You may not be able to connect to the SSAS instance. You check the available memory in Windows task manager or performance monitor, there is still plenty of memory available.

These errors can be caused by an incorrect memory setting in SSAS.

According to MSDN Memory Properties document https://msdn.microsoft.com/en-us/library/ms174514.aspx

Values between 1 and 100 represent percentages of Total Physical Memory or Virtual Address Space, whichever is less. Values over 100 represent memory limits in bytes.

If the admin thinks a value above 100 is in KBs or MBs, the admin may put in a setting that is way too low for SSAS to operate properly, giving this "not enough memory" error when the server still has a lot of memory available.

The solution is to make the memory settings change to give a proper value to the memory limits in either percentage of server memory, or in bytes.