Main Content

自定义启动参数

MATLAB®Parallel Server™ 脚本使用几个默认参数运行。您可以自定义脚本,如本节所述。

修改脚本默认值

服务器服务的脚本需要几个参数的值。您可以在命令行使用标志设置一些参数,但完整的用户可配置参数集位于 mjs_def 文件中。要了解有关 mjs_def 文件中所有参数的更多信息,请参阅定义 MATLAB 作业调度器启动参数

服务器服务脚本使用的默认参数在文件中定义:

  • matlabroot\toolbox\parallel\bin\mjs_def.bat(在 Microsoft® Windows® 操作系统上)

  • matlabroot/toolbox/parallel/bin/mjs_def.sh(在 Linux® 操作系统上)

要修改默认参数,请在安装或启动 mjs 服务之前编辑此文件。

设置用户

默认情况下,作业管理器和工作进程服务以启动它们的用户身份运行。要以其他用户身份运行服务,请修改 mjs_def 文件中的 MJSUSERMJSPASS 参数。

在 UNIX® 操作系统上,MJSUSER 要求当前机器安装了 sudo 实用程序,并且允许当前用户使用 sudoMJSUSER 标识的用户身份执行命令。有关更多信息,请参阅有关 sudosudoers 实用程序的系统文档(例如,man sudoman sudoers)。

MJSUSER 在 Windows 系统上被授予以下权限:

权限目的本地安全设置策略
SeServiceLogonRight需要使用服务登录类型登录。作为服务登录
SeAssignPrimaryTokenPrivilege需要在不同的用户帐户下启动一个进程。替换进程级令牌
SeIncreaseQuotaPrivilege需要在不同的用户帐户下启动一个进程。调整进程的内存配额

要修改或删除这些权限,

  1. 选择 Windows 菜单开始 > 设置 > 控制面板

  2. 双击管理工具,然后双击本地安全策略

  3. 在树中,选择本地策略 > 用户权限分配

上表显示了哪些政策受到 MJSUSER 影响。双击本地安全设置 GUI 中列出的任何策略以更改其设置或从该策略中删除用户。

覆盖脚本默认值

指定备用默认文件

mjs 服务、作业管理器和工作进程使用的默认参数在文件中定义:

  • matlabroot\toolbox\parallel\bin\mjs_def.bat(在 Windows 操作系统上)

  • matlabroot/toolbox/parallel/bin/mjs_def.sh(在 Linux 操作系统上)

在安装和启动 mjs 服务之前,您可以编辑此文件以使用您需要的值设置默认参数。

或者,您可以复制此文件,修改该副本,并指定将此副本用于默认参数。

在 Linux 操作系统上,输入命​​令

mjs start -mjsdef my_mjs_def.sh

在 Windows 操作系统上,输入命​​令

mjs install -mjsdef my_mjs_def.bat
mjs start -mjsdef my_mjs_def.bat

如果您为某台计算机上的服务指定一个新的 mjs_def 文件而不是默认文件,则其他计算机上的 mjs 服务不会自动使用这个新文件。如果您想对所有 mjs 服务使用相同的替代文件,则必须为安装或启动的每个 mjs 服务指定该文件。

有关详细信息,请参阅修改脚本默认值

注意

启动脚本标志优先于 mjs_def 文件中的设置。

从干净状态开始

当作业管理器或工作进程启动时,它通常会恢复过去的会话。这样,如果作业管理器机器崩溃或者作业管理器意外关闭,作业队列就不会被破坏或丢失。要从干净状态启动作业管理器或工作进程并删除所有历史记录,请在 start 命令上使用 -clean 标志:

startjobmanager -clean -name MyJobManager
startworker -clean -jobmanager MyJobManager

增加堆内存

MATLAB Parallel Server 支持最多具有 10,000 个工作进程的 MATLAB 作业调度器集群。当您扩大集群中工作进程或任务的数量时,您必须增加作业管理器可用的堆内存。为此,请根据以下建议设置 mjs_def 文件中的 JOB_MANAGER_MAXIMUM_MEMORY 参数。

  • 使用最小值 1000m (1000 MiB)。

  • 每 1000 名工作进程使用 1000m

  • 预计在峰值负载下排队的每 100,000 个任务增加 1000m

例如,对于具有 10,000 个工作进程且峰值队列大小为 400,000 个任务的集群,将 JOB_MANAGER_MAXIMUM_MEMORY 设置为 14000m

相关主题