在R2013a和Win 7 64位以及i5第3代cpu上,以下代码将启动一个由4名工作人员组成的池:
matlabpool 4在流程中的任务管理器中可以看到:

现在,我知道如何在快捷方式的低优先级中启动MATLAB,我采用了这种方法,认为会继承的相同优先级,但是默认情况下他们会正常运行。
您知道如何以低优先级启动匹配池吗?
发布于 2013-11-28 07:09:36
您可以在注释中结合@natan的建议,将此文件交换提交与poolStartup.m文件结合使用。有关如何使用医生的更多信息,请参见poolStartup.m。
发布于 2013-11-28 21:48:32
我在艾德里克的回答之后创建了一个特定于项目的艾德里克的回答脚本,这降低了工人的优先级。
启动池的语法如下:
matlabpool('open', 4, 'AttachedFiles',{'path\poolStartup.m'})其中,poolStartup.m将包含对WMIC的system()调用,这是实用程序。有关使用和示例的更多信息,请阅读WMIC语法、概要WMIC.exe或过程类感兴趣的官方文档。
我选择了以下对的调用,以降低优先级(按几行进行解释):
pid = feature('getpid');
cmdstr = sprintf('wmic process where processid="%d" CALL setpriority 64', pid)
system(cmdstr)有趣的部分是:
'wmic process where processid="PID" CALL setpriority 64'几个注意事项:
where name="name.exe"。虽然调用where name="MATLAB.exe"会同时降低具有该名称的所有进程,即工人和客户端,但这可能不是期望的效果。例如,我可能希望保留客户端的正常优先级。SetPriority类的Win32_Process方法将值64映射为“空闲”,并且没有任务管理器条目"low“的值。一个非常快速的检查显示,通过任务管理器将进程设置为“空闲”或“低”后,使用wmic查询的优先级是相同的。https://stackoverflow.com/questions/20251143
复制相似问题