Simpack同一台机器,换个模块就提示许可不可用?
同一台机器、同一个账号,昨天算整车模型还好好的,今天换成转向架或齿轮模块,求解器就提示许可不可用;重装一遍,问题照旧。这类情况多数不是安装坏了,而是换了模块,就换了取许可的方式。先查三件事:当前用的是哪种许可方案、这个模型要消耗多少令牌、服务器上到底有没有可用的令牌。
一、先确认许可方案有没有配对
Simpack 从 9.10 起支持 DSLS,和早期授权方式不同,它是令牌制。SIMULIA 知识库文章说得很直接:许可配置没有设成 token based,启动求解器就会报错。在 Extras > Licensing 里能看到 Solver licensing mode;选 Auto 时按优先级走,先 Simpack tokens,再 SimUnit tokens,最后才是 module-based。方案选错,机器再好也起不来。
二、“令牌不够”和“没有令牌”是两回事
官方安装与许可指南里有一条容易被忽略的警告:Simpack 不检查令牌数量是否足够,只检查服务器上有没有令牌。这意味着“能启动、跑一段才失败”和“根本起不来”指向不同的问题。令牌消耗也不是固定值,它取决于模型用到的模块功能,以及并行求解时选择的线程数,超过两个线程就要更多令牌。同一个人切换模块,模型里的建模元素变了,需要的 key 与令牌数也跟着变,这正是同一台机器、同一账号结果不同的原因。
三、有些功能根本不能用令牌换
同一份文档明确:不同功能,包括模块、ViewSets、建模元素、求解器和接口,由不同的 license key 授权;部分模块还要求另外的模块也已授权;第三方接口则接口与第三方产品各要一份许可。还有一句关键提醒:有些功能不支持令牌或 credits 授权,需要额外的 key。换模块就失败,往往卡在这里——不是令牌数量不够,而是这个模块不在你的授权组合里。要把这类差异看清楚,靠临时问一句不够,得把每次取用记下来:浮点许可优化管理软件做的就是统一管理、实时监控与历史分析,让“谁在什么时候用了哪个 key”有据可查。
四、在这台机器上按顺序核对
打开 Extras > Licensing,三步走:先点 Perform License Enquiry,看服务器地址、端口、版本、各 key 的可用数与总数、被谁锁定、到期时间;再点 Show Overall License Usage,看当前会话占了哪些 key;最后点 Show Current Model License Requirements,看这个模型需要哪些 key,结果会写进模型结果目录的 .licreg.log,求解时 Message Log 里也有。这三个入口看的是同一件事的三个侧面:服务器上有多少、这个会话用了多少、这个模型还要多少,三者对不上,问题就定位了。而要把这些占用做成长期记录,才谈得上优化:确认闲置后释放、按优化频率分时轮换,但承载受许可数量和派发限制,不等于可以无限并发。

五、几处容易被当成“安装问题”的细节
第一,界面默认在关闭最后一个模型后仍保留许可(GUI retains licenses after last model closed),关掉模型不等于归还,别人就取不到。第二,求解器只是挂起、进程还在,许可或 credits 仍在消耗。第三,取许可的等待时间可以配置,设成负值会一直重试,看起来就像卡死。第四,界面与求解器走的不是同一类许可,界面能打开,不代表求解器有可用令牌。第五,DSLS 本身有最低版本要求,服务器版本过低同样取不到许可,具体以所用 Simpack 版本的安装与许可指南为准,这属于版本兼容,不是模块授权。把这些逐条排除,再谈许可是否真的不够。
| 现象 | 更可能的原因 | 核对位置 | 处理方向 |
|---|---|---|---|
| 一启动求解器就报许可错 | 许可方案未设为令牌制 | Solver licensing mode | 改成与授权匹配的方案 |
| 昨天能跑,今天同一模型不行 | 其他会话仍占着 key | Perform License Enquiry | 找出占用者,确认是否闲置 |
| 换模块才失败 | 该模块不支持令牌,需额外 key | 模块说明与 key 列表 | 核对授权组合 |
| 跑一段后中断 | 令牌按功能与线程计,余量不足 | 模型需求与服务器余量 | 降线程或错峰安排 |
| 关闭模型后仍显示占用 | 界面默认保留许可 | 许可保留设置 | 调整保留策略 |

广州浮点信息科技有限公司可结合浮点许可优化管理软件,协助企业核对各模块的实际取用与令牌消耗,具体版本接入需现场确认。如果换模块就报错的情况反复出现,可以带上许可清单与报错记录一起看,先分清是授权组合问题还是占用问题。
