jenkins下的Matlab性能不佳

我有一个Jenkins脚本执行步骤,用Matlab处理外部数据以执行testing结果的评估。

当从命令提示符运行脚本时,它启动并退出的速度很快,但是当从Jenkins使用相同的参数执行相同的脚本时,它执行的操作极其复杂。 我在“仅提示”窗口中看到了Matlab欢迎消息,但是在我为这项工作设置的2小时的超时时间内没有出现任何其他内容。

已禁用节点上的Jenkins Windows服务,并从桌面运行节点进程,但没有任何区别:

C:\Windows\System32\java.exe -jar c:\j-mpc\slave.jar -jnlpUrl http://<server>/slave-agent.jnlp -secret <xxxxx> 

也尝试增加节点进程的内存,但没有改变:

 C:\Windows\System32\java.exe -Xmx2048m 

当以bash开头的进程树被终止时,它表明它是从java.exe-sh.exe树(Pocess Explorer窗口)inheritance的,但是在它们之间没有PID:

 java.exe (<0.01%, 1 420 000K) sh.exe (<0.01%, 2 140K) bash.exe (<0.01%, 2 580K) bash.exe ( , 2 580K) python.exe ( , 6 044K) python.exe ( , 4 800K) matlab.exe ( , 1 844K) MATLAB.exe (<0.01%, 167 324K) 

在subprocess中是否存在隐藏的限制,从Jenkins调用时会限制内存或进程的使用,在其他作业中我看不到相同的限制。 Matlab的内存分配非常缓慢(从开始到合理的大小> 100M需要大约一分钟)

(从Process Explorer有一个屏幕转储,但我不能上传)

编辑

我也试图限制来自jenkins的单个窗口命令行的调用,结果相同(怀疑是深层调用栈),但结果相同。

 matlab.exe -nodisplay -nosplash -nodesktop -wait -logfile "log_file.txt" -r "try script_file ;catch err; disp(err.message); end ; exit" 

通过在Jenkins节点设置中设置LM_LICENSE_FILE环境变量解决。 (找到一个关于慢启动的线程 )

显然Jenkins开始的shell环境并不完全符合从explorer开始的环境。