How to increase java heap memory in a dll?

I am downloading a big amount of information from a database, using this code:
conn = database(odbc,'','');
strsql = "whatever"
curs = exec(conn,strsql);
It only works after increasing the Java Heap Memory in the MATLAB General Preferences. This is ok if I run the code in my computer, but the problem is that I need to generate a dll to download the information from other computers that do not have matlab. The dll is running an out of Java Memory Problem. What can I do?
Thank you in advance.

回答 (2 件)

Jan
Jan 2019 年 5 月 22 日

0 投票

I cannot check it with a compiled application. But inside Matlab you can hack the preferences file. At first check the current heap size:
heapSize = java.lang.Runtime.getRuntime.maxMemory;
If the heap size is too small, set a new value:
com.mathworks.services.Prefs.setIntegerPref('JavaMemHeapMax', 2048); % MB
and restart the program. This works with restarting Matlab, e.g. by
system('matlab')
quit;
But I have no idea hoe to restart the DLL.
Alicia Camara Roldan
Alicia Camara Roldan 2019 年 5 月 22 日

0 投票

Thank you for your answer.
That's what I did with the preferences, and it worked inside Matlab, but not with the compiled application.

カテゴリ

ヘルプ センター および File ExchangeStartup and Shutdown についてさらに検索

タグ

質問済み:

2019 年 5 月 22 日

回答済み:

2019 年 5 月 22 日

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by