点击“确定”后,您应该可以继续运行Nuke 。这种情况可能会在使用内置插件节点(例如 Kronos、Keylight 或 OFlow)以及某些NukeX功能(例如 FurnaceCore)时发生,并且只会在使用浮动许可证时发生。
原因
这个问题只发生在浮动许可证上,原因是Nuke与许可证服务器的某个连接没有与许可证服务器保持定期通信,再加上 RLM 服务器在假定许可证失效之前等待时间的默认设置。
通过服务器Nuke许可证检查
当Nuke运行时, Nuke可执行文件和内部 DDImage 库都会向服务器检查它们是否拥有nuke许可证——计算机上只会检出一个许可证,但该许可证由这两个进程共享。此外,当您在NukeX模式下运行Nuke时,可执行文件和 DDImage 还会检出一个nukex许可证以供共享。
Nuke中的某些节点(例如 OFlow、Kronos、Keylight)和NukeX功能(包括 FurnaceCore 节点)会检查Nuke是否仍然签出许可证,而不是直接联系许可证服务器。Nuke 的问题在于,DDImage 的签出操作没有与许可证服务器保持心跳连接,因此无法告知服务器许可证仍在被使用。
服务器端的许可证超时设置
我们使用Foundry Licensing Tools (FLT) 安装了一个 RLM 选项文件,该文件通过添加以下行,将所有许可证的超时设置设为 1 小时:
我们使用Foundry Licensing Tools (FLT) 安装了一个 RLM 选项文件,该文件通过添加以下行,将所有许可证的超时设置设为 1 小时:
TIMEOUTALL 3600
TIMEOUT 或 TIMEOUTALL 设置决定了服务器在未收到许可证检出请求后等待多长时间,超过这个时间服务器将假定许可证未使用并将其收回。我们将此默认值设置为一小时,以防止程序崩溃导致许可证一直处于检出状态。
不幸的是,这与 DDImage 许可证心跳机制的漏洞叠加在一起,因此,如果您运行Nuke时间超过了超时设置,然后尝试使用一个会检查 DDImage 的节点,就会收到许可证超时的错误消息。创建另一个节点或更改节点上的设置应该足以触发 DDImage 再次与服务器通信并重新检查相同的许可证,您无需重启Nuke 。
不幸的是,这与 DDImage 许可证心跳机制的漏洞叠加在一起,因此,如果您运行Nuke时间超过了超时设置,然后尝试使用一个会检查 DDImage 的节点,就会收到许可证超时的错误消息。创建另一个节点或更改节点上的设置应该足以触发 DDImage 再次与服务器通信并重新检查相同的许可证,您无需重启Nuke 。
该问题已在内部跟踪,编号为 bug 156955。
解决
您可以通过增加选项文件中的超时设置来解决此问题,使Nuke在弹出这些窗口之前运行更长时间。为此,您需要编辑服务器上的以下文件:
Windows :
C:\Program Files\The Foundry \RLM\foundry.optC:\ProgramData\The Foundry \RLM\foundry.optOSX :
/Library/Application Support/TheFoundry/RLM/ foundry .optLinux :
/usr/local/ foundry /RLM/ foundry .opt并更改 TIMEOUTALL 的值。例如,要设置 2 小时的超时时间,您需要将该行更改为:
TIMEOUTALL 7200
请注意:您需要重启 RLM 服务器才能使此更改生效。
Windows 和 OSX :
以管理员用户身份运行Foundry License Utility (FLU),转到 RLM 服务器选项卡,然后单击“停止服务器”,再单击“启动服务器”。
以管理员用户身份运行Foundry License Utility (FLU),转到 RLM 服务器选项卡,然后单击“停止服务器”,再单击“启动服务器”。
Linux :
以 root 用户身份或使用 sudo 运行以下命令:
cd /usr/local/ foundry /LicensingTools8.1./ Foundry LicenseUtility -s stop -t RLM
./ Foundry LicenseUtility -s start -t RLM 延伸阅读
有关NUKE许可如何运作的更多信息,请参阅Q100106: Nuke许可如何运作?
有关 RLM 选项文件以及如何控制 RLM 服务器行为的更多信息,请参阅RLM 最终用户指南。
我们很遗憾听到
请告诉我们
症状
Nuke运行一段时间后(通常超过一小时),会弹出许可证警告,并显示以下错误消息:
RLM:服务器许可证超时