Page 1 of 1

OutOfMemory exception - TM1 10.1.1

Posted: Thu Aug 01, 2013 1:09 pm
by glaurens
I'm wondering if anybody has seen or experienced anything similar to this:

We've just started with a new implementation and our development server is set to restart every night. After it restarted last night (5 seconds) nobody logged in before I tried to connect this morning.

From my laptop, I was unable to see available servers and also couldn't remote desktop. I added the /admin to the remote desktop servername and finally got in.

I then saw the development server running at 50 GB on a 16GB which would explain why it couldn't supply me with a list of available servers.

However, I can't understand why the server would be running at 50GB, since when I kill and restart it again, it runs at about 300MB, so there are no evil feeders or anything.

Below is an excerpt from tm1server.log showing the startup time last night of 5 seconds and then the outofmemory message almost 9 hours later.

Any ideas or suggestions?

8920 [] INFO 2013-07-31 22:49:45.910 TM1.Chore Registering chore: zBackup Start time: 2013/07/11 19:10:39 Frequency: 01:00:00:00
8920 [] INFO 2013-07-31 22:49:45.910 TM1.Chore Registering chore: zRestart Start time: 2013/07/25 22:47:25 Frequency: 01:00:00:00
8920 [] INFO 2013-07-31 22:49:45.910 TM1.Server TM1 Server load time (secs) = 5
7200 [] INFO 2013-07-31 22:49:46.035 TM1.Server TM1 Server is ready
4048 [2] INFO 2013-08-01 07:30:04.679 TM1.Server TM1CubeImpl::ProcessFeeders: Computing feeders for base cube 'Assumptions'.
4048 [2] ERROR 2013-08-01 07:56:49.389 TM1.Server.Memory AllocateBlockFromOS: alloc (size = 8388608) failed: The paging file is too small for this operation to complete.

4048 [2] WARN 2013-08-01 07:56:49.825 TM1.Server.Memory CommonAllocateBlock() outOfMemory Exception <<< MEMORY_FATAL_LEVEL >>> - apifunc# "77"
4048 [2] INFO 2013-08-01 07:56:50.574 TM1.Server TM1CubeImpl::ProcessFeeders: Exception, done computing feeders for base cube 'Assumptions'.
7324 [6] INFO 2013-08-01 07:57:45.205 TM1.Server TM1CubeImpl::ProcessFeeders: Computing feeders for base cube 'Assumptions'.
7324 [6] ERROR 2013-08-01 10:02:59.476 TM1.Server.Memory AllocateBlockFromOS: alloc (size = 8388608) failed: The paging file is too small for this operation to complete.

7324 [6] WARN 2013-08-01 10:02:59.554 TM1.Server.Memory CommonAllocateBlock() outOfMemory Exception <<< MEMORY_FATAL_LEVEL >>> - apifunc# "77"
7324 [6] INFO 2013-08-01 10:02:59.803 TM1.Server TM1CubeImpl::ProcessFeeders: Exception, done computing feeders for base cube 'Assumptions'.
8944 [8] INFO 2013-08-01 10:03:36.354 TM1.Server TM1CubeImpl::ProcessFeeders: Computing feeders for base cube 'Assumptions'.
7244 [] INFO 2013-08-01 12:14:59.050 TM1.Server Data Directory: e:\tm1\development\.\cubes
7244 [] INFO 2013-08-01 12:14:59.065 TM1.Server Admin Host: HGTMD001
7244 [] INFO 2013-08-01 12:14:59.065 TM1.Server Logging Directory: e:\tm1\development\.\logs
7244 [] INFO 2013-08-01 12:14:59.065 TM1.Server Configuration Directory: e:\tm1\development

Any ideas or suggestions?

G

Re: OutOfMemory exception - TM1 10.1.1

Posted: Thu Aug 01, 2013 8:38 pm
by tomok
glaurens wrote:so there are no evil feeders or anything.
Exactly how did you come to that conclusion? From looking at the message log it looks like your server crashes after about 2 hours worth of trying to process the feeders for a cube called "Assumptions". Feeders that take over two hours to process qualify as "evil" in my world. :roll:

Re: OutOfMemory exception - TM1 10.1.1

Posted: Thu Aug 01, 2013 9:25 pm
by mvaspal
I agree with tomok, this log file shows quite clearly where you should start looking at: the feeders of the Assumptions cube.
Without knowing anything about your system, cubes called 'Assumptions' are usually small cubes with just a few dimensions. So it can happen that there are feeders in this cube that try to feed the 'Total' elements in dimensions in other, much bigger cubes, which results in massive overfeeding. So in most cases (but not always), I would avoid writing feeders in assumptions cubes that feed bigger cubes containing 'real' data.

Re: OutOfMemory exception - TM1 10.1.1

Posted: Fri Aug 02, 2013 9:23 am
by Wim Gielis
mvaspal wrote:So in most cases (but not always), I would avoid writing feeders in assumptions cubes that feed bigger cubes containing 'real' data.
True. For example, an exchange rates cube, there you won't feed from the rates to "real data" cubes, but you will feed internally in the "real data" cubes. I.e. from 1 currency to another.

Re: OutOfMemory exception - TM1 10.1.1

Posted: Mon Sep 09, 2013 11:04 am
by glaurens
You seem to be missing the fact that when I restarted the server it only ran at 300 MB. This server is currently running at about 350MB.

There wasn't/isn't a rule file for the Assumptions cube.

I didn't really expect any valid responses to this freak scenario but thank you for trying.

Re: OutOfMemory exception - TM1 10.1.1

Posted: Mon Sep 09, 2013 2:32 pm
by tomok
glaurens wrote:There wasn't/isn't a rule file for the Assumptions cube.
Well, to the contrary, this line in your log:
4048 [2] INFO 2013-08-01 07:30:04.679 TM1.Server TM1CubeImpl::ProcessFeeders: Computing feeders for base cube 'Assumptions'.
Says you do, or at least did at some point. And this line:
4048 [2] ERROR 2013-08-01 07:56:49.389 TM1.Server.Memory AllocateBlockFromOS: alloc (size = 8388608) failed: The paging file is too small for this operation to complete.
Says your server ran out of memory processing the feeders for the rule on Assumptions.

I know TM1 is known to do some strange things sometimes but randomly creating a rule on a cube, and then writing a feeder that causes runaway memory loss is a little bit above it's pay grade. I'm sorry, but a human had to have created the rule and it's why your server crashed.

Re: OutOfMemory exception - TM1 10.1.1

Posted: Tue Sep 10, 2013 10:39 am
by Gabor
You need to check all other rule files for feeders pointing to the "assumptions" cube.
The "Done computing feeders ..." line tells about the destination cube. This isn't necessarily the source cube/rule, where your feeders come from.

Re: OutOfMemory exception - TM1 10.1.1

Posted: Wed Sep 11, 2013 5:21 pm
by deepakjain2020
In addition to the best suggestions provided,

you can try out by increasing the size of your paging file, may help.