01-28-2013 09:45 AM
Hi,
I am taking small bits and pieces from various rather big TDM-files with the DataFileLoadSel command. Strangely enough the memory consumption increases rapidly with each file being handled until it reaches almost 4 GB. Then the script stops with an out of memory error (though I still have 12 GB RAM available).
1. Is there a limitation for Diadem memory usage up to 4 GB?
2. It seems to me that Diadem is loading the whole file into the memory although I only take out a small data set. Is that correct and how can I prevent the from happening? "Load" or "Register" do not make any difference in that behaviour.
Thanks for your input.
Phex
Solved! Go to Solution.
01-29-2013 02:22 AM - edited 01-29-2013 02:29 AM
Do you have large string channels in your tdm file?
How many values do the channels have?
Which DIAdem Version is used?
Background: DIAdem is a 32bit application so it makes use of 4GB RAM. On the other hand it is capable to swap loaded data to external swap so there shouldn't be a behavior like this. At all Load and Register should show different memory consumtion behavior.
01-29-2013 03:27 AM - edited 01-29-2013 03:29 AM
Thanks for your answer.
I am running DIAdem 2012 and I only have float values in my channels with about 200 each, so nothing abnormally big. When I run the DataFileLoadSel in a loop on all my files, i can observe that the memory constantly increases proportional to the size of the whole file (although I only load 4 channels of each). At 4GB the script stops without displaying an error message and DIAdem basically needs a restart. It is not possible to work properly in any module anymore and a forced restart is required. The event viewer shows a .NET framework error (ntdll.dll) followed by the Application Error of DIAdem. I already tried a reinstallation of either .NET and DIAdem, but it did not resolve the problem.
Any idea what I could check as well?
01-29-2013 04:44 AM - edited 01-29-2013 04:49 AM
Can you offer some more information?
Can you try the following:
The maximum amount of DIAdem channels is 65000. To you strike this barriere?
Maybe putting
BulkDataLoadingMode = eBulkDataLoadingImmediately
as first line to your script and using "Load" may help too.
01-29-2013 05:46 AM - edited 01-29-2013 06:01 AM
Hello,
please start the NAVIGATOR Settings dialog and switch the option "Load bulk data on modification of channel data" to "Always load bulk data" and please try again. When using TDM-files with many short channels, this setting will support your application in a better way.
Instead of "Register" please use "Load" in your case.
Greetings
01-30-2013 05:10 AM
Switching to "Always load bulk data" did it! Thank you so much.
For your information:
My biggest file I loaded with DataFileLoadSel contains 22000 channels each with about 200 values giving a size of 63MB for the TDM and 630MB for the corresponding TDX. The swap setting did not have any influence.
01-30-2013 05:41 AM
Thanks for the information and Greetings