设计师正画着图,SolidWorks 或者 CATIA 突然弹个框:许可不足,无法启动。然后电话就打到 IT 这儿了。第一反应往往是——是不是该加购了?
先别急。许可抢不到,真实原因通常有四种:容量真不够、网络或服务器异常、模块配置不对、空闲会话占着不放。直接买许可是最贵的解法,而且大概率买完还会不够。
工业软件的浮动许可,核心就是一个池子。客户端启动时向许可证服务器申请签出(check-out),用完释放(check-in)。FlexNet、DSLS、SolidNetWork License Manager 这些底层机制不同,但逻辑一致:池子里有空闲的就给,没有就排队或拒绝。
问题在于,"池子满了"这个表象背后,可能是完全不同的根因。有人开着软件去开会了,许可没释放;有人 VPN 闪断导致会话僵死;有人用的模块和池子里的授权类型不匹配;还有人纯粹就是服务器端口被防火墙拦了,跟容量半毛钱关系没有。
第一步:确认报错本身。 什么时间、哪个模块、哪个用户、什么错误码。别只听"软件打不开了",要拿到具体信息。抽样回读源系统,确认导出汇总没丢数据。
第二步:查服务器状态和日志。 登录 LMTOOLS 或 DSLS 管理台,看实时占用情况,按占用时长排序,找有没有超过几小时的会话,有没有陌生设备名或离职员工账号。 要能定位到具体设备、账号、模块,光看汇总数没用。
第三步:对比峰值并发、拒绝记录和空闲会话。 拒绝记录比用户抱怨更接近事实——是偶发还是连续发生?集中在哪个时段?被拒绝的是少数人还是多个部门同时撞车? 当前状态和历史变化分开记,别拿今天的数据解释上个月的事。
核查结果压缩成四栏就行:事实、缺口、影响、责任人。管理层扫一眼就能判断下一步。

某家电企业研发中心,CATIA 和 NX 混用,总共 80 套浮动许可。每天下午都有人抱怨抢不到,项目经理催 IT 加购。IT 查了一周日志,发现峰值并发其实只有 65 左右,池子没满。
进一步看占用明细:有 6 个许可被测试部门的电脑挂了三四天没释放,人早就不在了;还有十几个会话占用超过 4 小时,中间没有任何操作记录;另外仿真模块的 8 套许可里,有 3 套被结构工程师占着但根本没跑计算。
整改就三件事:强制释放 6 个僵尸会话,配了 30 分钟无操作自动提醒、60 分钟自动回收的策略,把仿真模块的许可从结构组调回仿真组。没多花一分钱,下午的投诉基本没了。后来项目攻关期峰值确实冲到了 78,那时候才补了 5 套临时许可。
问题从来不是"少几套",而是"怎么在用"。