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

我在我所的一个集中式集群(linux)上运行了一个使用12个处理器的并行matlab代码。 代码运行良好,但无法打印Excel文件。 我正在使用xlwrite函数并在工作目录中具有所有相关的文件夹和文件。 我得到的错误是

“使用org.apache.poi.xssf.usermodel.XSSFCell / setCellValue发生错误发生Javaexception:java.lang.OutOfMemoryError:超出GC开销限制

我怎样才能改变堆内存?

生成的每个excel文件(预期的)有45000行和6列,包含整数以及浮点数据。 (我在整个代码中使用xlwrite函数四次)代码中使用的input数据variables大小为22MB。 在一台有32GB内存的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 

我设法通过ssh -Xlogin到群集,然后通过GUI上的首选项设置更改堆内存