我有一台MATLAB服务器,它托管一个许可证管理器(LMTOOLS by Flexera Software LLC
)和几个客户端。
当您运行使用datestr(busdate(date))
等工具箱功能时,您会自动从服务器检出Financial Instruments工具箱。仅当您关闭会话时,许可证才会返回到服务器。有没有办法强制特定客户返回许可证?忘记关闭他/她的会话的用户可能会影响每个人,因为管理员无法将许可证返回给服务器。
您可以使用:
lmutil lmstat -a -c "MYPATH\network.lic" --> to check license-borrower details
Output: ......john.doe PCNAME PCNAME (vxx) (SERVER/3300 123), start Tue 8/5 10:30
我尝试使用:
lmutil lmremove -c "MYPATH\network.lic" Fin_Instruments_Toolbox john.doe PCNAME PCNAME
但它只返回1行输出 lmutil - 版权所有(c)1989-2012 Flexera Software ... 并且没有登记借用的许可证。知道如何在不关闭借用Matlab会话的情况下做到这一点吗?我甚至将客户端与网络断开连接,但这并没有帮助。
答案 0 :(得分:0)
没有办法做到这一点 - 客户端必须关闭他们的MATLAB会话。
答案 1 :(得分:0)
Mathworks使用Flexnet并且不允许重读'或者' lmremove'像其他使用Flexnet的编辑器一样。如果我必须提供令牌,请尝试以下解决方案:
开始/停止:
如果许可证服务器没有响应,拥有令牌的用户可以在20分钟内使用它,然后丢失它,但是一些新用户无法获取令牌。在此之前,我检查为许可证服务打开的Tcp / IP端口的数量。我知道在180/190会话(用户)之下,我可以启动/停止服务器。
如果故障客户端在许可证服务器启动后未进行其他检出,则该令牌将可供其他用户使用。
如果用户使用浮动(CN)许可证并尝试制作“OUT”#33;太快了(比如while(1)
),我修改了选项文件以阻止用户放置一个' EXCLUDE'对于用户 - 连续增长的日志文件可能对服务器造成危险。或者,如果用户在相同的工具箱中使用了太多的CN令牌,我会将一个' MAX'对他的指示。
阻止IP地址: 如果使用令牌的客户端在4小时内未与服务器联系,则服务器会认为该令牌处于“闲置”状态。得到它,它会产生一个' IN'然后令牌可用。我使用了一个' Iptable'命令阻止用户计算机的IP。这仅在计算机未在群集节点等许多用户之间共享时才有效。 4小时是' TIMEOUT'指令,但不希望减少此值,即使您在选项文件中更改它,您也只能增加它。最小值由Mathworks锁定。