Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Hi Friends,
I am having 32 Bit OS with 2 GB RAM and after doing a few Joins I am getting this "Out of Memory" Problem.
The records are not in lakhs but only thousands. I am attaching the Log. Is this 2GB RAM main problem for this?
In the attached log, if I remove the droptables and rename the field according to the tablename I get the " Out of Memory Problem"
Is this application not achievable with a 2 GB RAM?
[View:http://community.qlik.com/cfs-file.ashx/__key/CommunityServer.Discussions.Components.Files/11/4606.DVtest.qvw.log:550:0]
how is your configuration in Settings-User Preferences-Objects?
Hi,
WHERE do you get the "Out of memory error"? Not during reload, I assume (log seems ok). Could it be you have a big pivot table or other chart with lots of calculations? I sure hade several similar issues with data rows only of several thousand but out of memory error in a chart with dozens of expressions and calculations ...
Rgds,
Joachim
Things to look at:
Joins are memory intensive, especially inner joins.
As biester says, you'll need to verify wether the problem is caused by the script or by some of the objects in the user interface.
If the message "out of memory" is presented in some of the objects, and no data is shown in this object, the problem is caused by to much data shown in this object, or to complex expression(s) in it.
If you just see a popup dialog saying "out of memory", during reload, the problem is located in script.
If that's the case, ask yourself if you really need that join or if you can solve the problem in any another way (left keep, where exists etc..).
If you can't live without it, try making the join in the SQL Select statement instead of in the Load statement.
This way, memory to do the join will be consumed by the source system's server instead of the server (or local computer) from where you reload the QlikView application.
The load statement always consume memory from the server (or local computer) from where you execute the script reload, while the SQL select statement consume memory from the server where the source data resides.
Sample of SQL Select statement inner joins:
SQL SELECT
a.AddressID as BillToAddressID,
a.AddressLine1,
a.AddressLine2,
a.City,
a.StateProvinceID,
a.PostalCode,
s.CountryRegionCode as CountryRegionCode,
s.Name as [State / Province],
c.Name as Country
FROM
AdventureWorks.Person.Address a INNER JOIN
AdventureWorks.Person.StateProvince s ON a.StateProvinceID = s.StateProvinceID INNER JOIN AdventureWorks.Person.CountryRegion c ON s.CountryRegionCode = c.CountryRegionCode;
Cheers!
Lars
@ Biestler,
I get a "Out of Memory Problem allocate 1MB" only on reload and not in the objects. I did not start making Objects but only working on my script. whenever I rename the fields which are to be dropped(see the log) and remove the drop fields function. I am getting this Error. The Log which I attached was, when I drop the fields and as you saw it is without any failure. There should not be a Problem if I remove Drop fields and Rename few fields.. Why this happens?
@ Lars
Thanks for the good explanation. I will with the Sql commands..
Hi Sravan,
do you have the possibility to try the reload on another machine with more memory (perhaps on the server machine with at least 4 GB and 64 bit - to avoid 2GB limit) and eventually also observing the performance in the task manager while reloading and getting this error? If it succeeds there, I'd say this is a hint that the data structure and/or the script have to be optimized. If you're getting an out of memory error even there, this might indicate that there is a real "Knoten" in the data - something like a Cartesian product (only for example).
Any case as Lars says we have to focus on the data structure and the script as there are not yet any objects.
Rgds,
Joachim