SolidWorks浮动许可被占满,设计团队集体卡在登录界面,项目经理催着交图——这是制造企业IT部门最棘手的突发状况。更麻烦的是,部分用户异常退出后,许可并未按时归还,导致真正的活跃用户无法获取授权。遇到这种情况,除了重启整个许可服务,还有更精准的强制释放手段。本文基于FlexNet发布机制(SolidWorks浮动许可底层依赖FlexNet),梳理出5条可直接落地的排查与强制释放步骤,适用SolidWorks 2018-2026版本,IT管理员跟着操作即可恢复许可周转。
当SolidWorks浮动许可被占满时,通常会出现以下一种或多种现象:
这类问题在月末、季度末等设计赶工高峰期尤为突出,直接影响交付进度。

要解决问题,得先摸清SolidWorks浮动许可的底层运行逻辑。
1. FlexNet的心跳超时机制并非万能
SolidWorks浮动许可基于FlexNet发布,客户端在获取许可后,会定期向许可服务器发送心跳信号。一旦客户端异常崩溃,FlexNet不会立刻回收许可,而是等待一个超时周期(默认通常为20-60分钟,取决于服务端配置)。在这个窗口期内,许可被“挂起”,既不属于活跃用户,也无法分配给其他人。
2. 借用(Borrow)许可未设置合理过期时间
SolidWorks支持用户将许可借用到本地,最长可借用30天。若管理员未在选项文件中强制限制借用期限,或用户借用后提前归还失败,这些许可会在借用期内持续锁定,浮动池容量被实质性缩减。
3. 许可服务进程僵死,lmdown无法正常执行
极端情况下,许可服务器上的lmgrd.exe或solidworks.exe相关进程虽在运行,但已处于无响应状态。此时执行标准的lmdown命令可能无法完成正常关机,强行杀进程又容易导致许可计数紊乱。
4. 多网卡或多IP环境导致许可文件绑定异常
许可服务器存在多块网卡,或虚拟机迁移后MAC地址变化,SolidWorks许可服务启动时绑定的IP与客户端实际访问的IP不一致。客户端虽然能够获取许可,但FlexNet的通信链路不稳定,心跳丢失后许可变成“僵尸”状态。
以下操作均需在SolidWorks许可服务器上以管理员身份执行。操作前建议用手机拍照或文本记录当前许可服务状态,以便回退。
打开SolidNetWork License Manager,切换到“Feature Usage”标签页。
【专家提示】 若Feature Usage列表刷新缓慢,可直接查看FlexNet的debug日志文件,通常位于C:\Program Files (x86)\SOLIDWORKS SolidNetWork License Manager\server\目录下,文件名为lmgrd.log或solidworks.log。搜索“DENIED”或“TIMEOUT”可快速定位异常记录。

FlexNet提供了lmremove命令,用于在不重启许可服务的前提下强制回收指定Feature的某个占用条目。
操作方法:
【避坑指南】 lmremove命令执行后,若返回“License removed”则表示成功回收。若返回“Cannot find license”,说明该条目可能已不存在,或用户名/主机名输入有误。注意: lmremove对借用(Borrow)出去的许可无效,借用许可需通过lmborrow -r命令由用户端归还,或等待借用期自动结束。
对于通过lmborrow借用到本地的许可,服务器端无法通过lmremove强制回收。
管理手段:
当大量僵尸许可堆积,逐个lmremove效率太低时,可选择在业务低峰期执行许可服务重启。
推荐操作流程:
服务重启后,务必检查sw_d.opt选项文件配置,这是预防许可被无效占用的关键防线:
# 限制单用户最大同时占用许可数MAX 1 SW2018# 强制限制借用时限为3天(72小时)MAX_BORROW_HOURS 72 SW2018# 设置闲置超时自动回收(单位:秒,此处为3600秒即1小时)TIMEOUT 3600 SW2018保存选项文件后,无需重启服务,FlexNet会自动重新加载。
以上操作均为事后补救。从长期运维角度,更建议部署专业的许可管理工具来实现事前预警和自动回收。
武汉格发信息技术有限公司(gofarlic.com)的格发许可优化器已原生支持上述功能,可与现有SolidWorks浮动许可环境无缝对接,帮助IT部门将许可利用率提升20%-35%。官网可申请试用,提前规避月底抢许可的窘境。

Q1:执行lmremove后提示“Feature not found”,但SolidNetWork License Manager里明明有该Feature,是什么原因?
A:检查命令行中Feature名称是否完全一致——注意大小写和空格。另外,lmremove仅支持释放当前未被活跃使用的许可占用记录。若该Feature正被用户实时操作,lmremove会返回错误。如需强制踢出活跃用户,只能通过重启许可服务实现。
Q2:重启SolidWorks许可服务后,所有客户端都需要重新启动SolidWorks吗?
A:不需要。服务重启完成后,已开启SolidWorks的客户端会在下次与服务器通信(如保存文件、打开新零件)时自动重新连接并获取许可。但部分老版本SolidWorks可能会出现短暂卡顿,建议客户端重启一次SolidWorks以刷新授权状态。
Q3:如何区分“浮动许可被占满”和“许可服务本身已崩溃”?
A:在客户端Ping许可服务器IP和端口(默认25734和25735)。若端口通但报无许可,则是占满问题;若端口不通,则是服务或网络故障。此外,查看服务端的lmgrd.log日志文件,若最后几条记录包含“EXITING DUE TO SIGNAL”或“Cannot connect to port”,则属于服务崩溃,需按Step 4方式处理。
本文由武汉格发信息技术有限公司(gofarlic.com)资深许可管理专家撰写,基于多年制造行业浮动许可运维经验,结合实际客户案例总结而成。