如何在批处理模式下运行matlab时增加java堆内存大小

如何在批处理模式下运行matlab时增加java堆内存大小

问题描述:

我在我所的研究所的集中式集群(linux)中运行了一个使用12个处理器的并行matlab代码。代码运行良好,但无法打印excel文件。我正在使用xlwrite函数并在工作目录中包含所有相关的文件夹和文件。我得到的错误是如何在批处理模式下运行matlab时增加java堆内存大小

``使用org.apache.poi.xssf.usermodel.XSSFCell/setCellValue Java异常错误发生: java.lang.OutOfMemoryError:GC开销超过限制

我怎么能改变堆内存?

生成的每个excel文件(预期)都有一些45000行和6列,并包含整数以及浮点数据。 (我在整个代码中使用xlwrite函数四次)代码中使用的输入数据变量大小为22MB。 在具有32GB RAM的Windows计算机上运行完全相同的代码。但是我失去了访问权限,因此需要知道如何在Linux机器上运行它。 的CMD文件提交作业的服务器是:

#!/bin/bash 
#@ output  = test.out 
#@ error  = test.err 
#@ job_type = MPICH 
#@ node = 1 
#@ tasks_per_node = 16 
#@ class = Medium128 
#@ environment = COPY_ALL 
#@ queue 
Jobid=`echo $LOADL_STEP_ID | cut -f 6 -d .` 
tmpdir=$HOME/scratch/job$Jobid 
mkdir -p $tmpdir; cd $tmpdir 
cp -R $LOADL_STEP_INITDIR/* $tmpdir 
matlab < filterDataVal.m 
mv ../job$Jobid $LOADL_STEP_INITDIR 
+0

的Java -Xmx6g myprogram – paul

+0

可能的重复[如何处理“java.lang.OutOfMemoryError:Java堆空间”错误(64MB堆大小)](http://stackoverflow.com/questions/37335/how-to-deal-with-java- lang-outofmemoryerror-java-heap-space-error-64mb-heap) –

+0

这不是重复的,这个问题并没有解释如何通过Matlab启动时配置jvm。 – Daniel

我设法登录SSH的-X集群,然后通过首选项设置更改的堆内存上的GUI