Friday, March 30, 2012

Memory Allocation Failure When Deploying AS2005 Project

Hi,

I have an AS2005 project that I am trying to deploy. It contains one fact table with approx 20 million rows. I have never had any problems deploying the project unitl recently. What is happening is when between 3 - 5 million of the rows have been read it will fall over, giving the following error message:

"Memory error: Allocation failure : Not enough storage is available to process this command. . Errors in the OLAP storage engine:"

I have read about this occurring during the processing of a data mining model, and a hotfix exists to solve this. However, my project contains no data mining at all.

Can anyone shed any light on this?

Dave

Hard drive failure? Hard drive full/not enough storage space?

If you use incremental updating for your cube you will need additional storage space temporarely.

Regards

Thomas Ivarsson

|||

Hard drive is fine, and has around 200 Gb free. I think this is a memory problem with the server. The server has 3Gb, and has been able to process the cube fine for the last 2 months so I cannot understand it.

What do you mean by incremental processing? I have 3 partitions set up, each with around 7 million rows. I have set the options to 'Sequential processing', and 'Separate transactions'. Is there anything else I can do?

Dave

|||

Looks like your machine doesnt have enoght memory to execute a processing command. Analysis Server tries estimate the memory needed to complete processing command and that is the error message you are seeing.

Try process separately every dimension and partition. If you still see the error message during partition processing try to reduce size of the partition by partitioning your data some more.

Edward Melomed.
--
This posting is provided "AS IS" with no warranties, and confers no rights.

|||

Edward,

I could understand this being the case if the there had always been this problem. However, the fact table does not have any more rows now it is erroring than it did when it was processing fine. In addition, the error occurs when only a small proportion of the rows have been read, so I cannot see how the machine could have run out of memory in this early stage of processing.

David

|||

This is not a situation where machine runs out memory. Analysis Server wouldnt even start processing if you dont have enoght memory available to comlete the operation. So what is happening, it tries to estimate how much memory it needs to complete the processing, then it requests from OS what is the memory avaliable at the moment and compares the two. If there isn't enoguh, you will see the error.

Now, In your case I am not clear what had happen before.

The two things to check.

1. As I suggested in previous reply. Try and process less things in parralel, try to partition some more. Anything causing Analysis Server to lower the estimates.

2. See the memory situation on your machine at the time of processing. Is there someone is consuming the memory you need for processing?

HTH.

Edward Melomed.
--
This posting is provided "AS IS" with no warranties, and confers no rights.

|||

I would recommend to create a job that will do a full process of each dimension first and a full process of all the cubes at last. Sorry if you have already done this.

You can set up this by choosing to process each dimension in management studio and script that action.

I have seen that processing with the option to process all related objects do not always work a espected.

Have you any hints if you set up a trace in profiler?

Regards

Thomas Ivarsson

|||

Thanks for for advice guys. I did a couple of things you mentioned which I thought I had already tried, but the project processed ok.

Firstly I processed each dimension individually. Then I processed the cube (which I have split into 3 partitions). I changed the processing settings to 'Sequential Processing' and 'One transaction at a time'. It took about an hour and a half (it used to take one hour), but I can live with that.

I would like to write a script for this but am not sure what form it would take. Would it be in SQL, MDX or XMLA? Could you give me a brief outline of the syntax required, to say process a single dimension. This would give me an idea of what I am aiming for.

Many thanks,

Dave

|||

Can anybody help with this?

Dave

|||

Right click on a dimension in management studio and choose process. In the next dialogue you will have the option to script that command to a new query window or to memory. Then you can see the XMLA syntax for this.

Regards

Thomas Ivarsson

No comments:

Post a Comment