JVM out of memory when running parfor on cluster

3 visualizaciones (últimos 30 días)
Krzysztof Fajst
Krzysztof Fajst el 30 de En. de 2014
Comentada: Krzysztof Fajst el 30 de En. de 2014
I'm running parfor on cluster from matlabpool open and getting JVM out of memory error heap size. The same parfor works perfect when I open matlabpool with 'local' profile and run it just on one machine.
MDCS is installed properly and passes validation.
For sure its not lack of memory on remote cluster PC - it has plenty of memory left and system is win7 64. Both PCs has 16G of memory,one is 8 core,another 4 core.
Java heap size is set to 2048MB, java.opts is set to 4096MB and heap size in java application is also set high. All those settings works well either for serial or for local parfor.
Krzysztof

Respuesta aceptada

Thomas Ibbotson
Thomas Ibbotson el 30 de En. de 2014
It's possible that the worker JVMs are not picking up the java.opts file. Workers have a different startup folder to the client MATLAB, so in order to get them to pick up the java.opts I would recommend putting it in the matlab/bin/<arch> folder.
You can check the java heap memory on the workers by running the following command with a pool open:
pctRunOnAll('r = java.lang.Runtime.getRuntime(); r.maxMemory / (1024*1024)')
The first result will be the memory on the client machine followed by the memory on each worker in MB.
  1 comentario
Krzysztof Fajst
Krzysztof Fajst el 30 de En. de 2014
Yes it was it !!! When I open matlabpool on cluster heap memory was set to default. So I put java.opts kind of everywhere to /bin, /bin/w64 and /MATLAB, it was still not OK but after a reboot heap was set higher.
Thanks, Krzysztof

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Startup and Shutdown en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by