我最近遇到了一个问题,即matlabpool('open', 'local', 8)在启动工作人员之前命令会持续大约27分钟.在延迟期间,Windows任务管理器显示单个MATLAB.exe进程消耗零CPU,内存使用或PF Deltas没有变化,并且正在使用少于25%的物理RAM.
我已经尝试进入distcomp.feature( 'LocalUseMpiexec', false)和matlabpool close force local打开命令之前,但仍然有问题.直到最近,开放命令只需要一两分钟即可完成.我没有进行任何配置更改,但在IT部门管理的环境中工作,因此无法确定可能对OS/AV /等进行了哪些维护更新.
任何人都可以确定为什么发生这种挂断?
我正在使用matlab版本8.1.0.604(R2013a)和Java 1.6.0_25-b0.我也看到了使用Java 1.6.0_17-b04的问题.运行Windows 7企业版6.1.7601 Service Pack 1 Build 7601. PC具有双Intel Xeon CPU(12核)和24 GB RAM.
我单步使用调试器并确定没有延迟,直到它到达cjsPrepareForSubmissionCJSSupport.m文件中第507行的调用.如果在那一点上,除了"执行指针"从绿色箭头变为白色箭头之外没有显示变化,我会"进入".第二个"步骤"调出包含该文件的JobInitData.m文件,该文件class def (Hidden, Sealed) JobInitData隐藏了视图中的实际实现.
"继续"7次以上工作没有延迟添加变量plainTextForBatchJob和plainTextForInteractiveJob工作区.在第8步"进入"主matlab窗口中指示的状态变为忙碌并保持25分钟以上.在状态最终更改为在调试器中停止后,您可以点击"继续",工作人员立即启动并且该过程完成而不会有额外的延迟.
从公开呼叫到隐藏问题区域调用树:
matlabpool(‘open’, ‘local’, 8)
Matlabpool.m 139: matlabpoolOut = MatlabpoolHelper.doMatlabpool(parsedArgs,parsedArgs.ActionArgs.Scheduler);
MatlabPoolHelper.m 137: MatlabpoolHelper.doOpen(sched, parsedArgs.ActionArgs);
MatlabPoolHelper.m 363: client.start('matlabpool', parsedOpenArgs.NumLabs, sched, 'nogui', parsedOpenArgs.FileDependencies);
InteractiveClient.m 279: submit(obj.ParallelJob);
Job.m 302: job.submitOneJob();
CJSCommunicatingJob.m 82: job.Parent.hSubmitCommunicatingJob( job, job.Support, job.SupportID );
hSubmitCommunicatingJob.m …Run Code Online (Sandbox Code Playgroud)