许可优化
许可优化
产品
产品
解决方案
解决方案
服务支持
服务支持
关于
关于
软件库
当前位置:服务支持 >  软件文章 >  SolidWorks浮动许可被占满如何强制释放?5步实操指南

SolidWorks浮动许可被占满如何强制释放?5步实操指南

阅读数 1
点赞 0
article_banner

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

一、问题现象:浮动许可池见底,谁在占用成谜

当SolidWorks浮动许可被占满时,通常会出现以下一种或多种现象:

  • 客户端报错“No more licenses available”或“All licenses are in use” ,即使部分员工已下班,许可仍显示被占用。
  • SolidWorks正版许可管理工具(SolidNetWork License Manager) 中“Feature Usage”列表显示的占用用户数与实际在线人数严重不符。
  • 部分用户非正常关闭SolidWorks(蓝屏、强制结束进程、笔记本合盖休眠) ,许可未被释放,仍挂在FlexNet服务器上。
  • 许可借用(Borrow)功能被滥用,部分用户长期借用许可未归还,挤占浮动池名额。

这类问题在月末、季度末等设计赶工高峰期尤为突出,直接影响交付进度。

二、原因深度分析:为什么释放操作总慢半拍?

要解决问题,得先摸清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许可服务器上以管理员身份执行。操作前建议用手机拍照或文本记录当前许可服务状态,以便回退。

Step 1:通过SolidNetWork License Manager定位“僵尸”用户

打开SolidNetWork License Manager,切换到“Feature Usage”标签页。

  • 查看“Checkouts”列表,记录下占用许可的用户名(User)、计算机名(Hostname)以及占用的Feature名称(如SW2018、SW2024等)。
  • 重点关注那些计算机名显示为乱码、或用户名为空白的记录——这往往是异常断开后残留的占用条目。

【专家提示】 若Feature Usage列表刷新缓慢,可直接查看FlexNet的debug日志文件,通常位于C:\Program Files (x86)\SOLIDWORKS SolidNetWork License Manager\server\目录下,文件名为lmgrd.logsolidworks.log。搜索“DENIED”或“TIMEOUT”可快速定位异常记录。

Step 2:执行lmremove强制回收指定许可(最精准手段)

FlexNet提供了lmremove命令,用于在不重启许可服务的前提下强制回收指定Feature的某个占用条目。

操作方法:

  1. 在许可服务器上以管理员身份打开命令提示符(CMD)。
  2. 进入SolidWorks许可安装目录,通常为:cd C:\Program Files (x86)\SOLIDWORKS SolidNetWork License Manager\server
  3. 执行以下命令格式:lmremove -c @localhost feature_name user_name hostname实际示例:lmremove -c @localhost SW2018 zhangsan DESKTOP-ABC123feature_name:从Step 1记录中获取。user_name和hostname:必须与Feature Usage列表中的显示完全一致,区分大小写。

【避坑指南】 lmremove命令执行后,若返回“License removed”则表示成功回收。若返回“Cannot find license”,说明该条目可能已不存在,或用户名/主机名输入有误。注意: lmremove对借用(Borrow)出去的许可无效,借用许可需通过lmborrow -r命令由用户端归还,或等待借用期自动结束。

Step 3:处理“顽固不化”的借用许可

对于通过lmborrow借用到本地的许可,服务器端无法通过lmremove强制回收。

管理手段:

  • 在选项文件(通常为SolidNetWork License Manager安装目录下的sw_d.opt)中,添加MAX_BORROW_HOURS参数,限制最大借用时长。
  • 若遇到用户离职但借用未归还,可直接在服务器上停止并重启SolidWorks许可服务,借用许可会因服务重启而失效(客户端下次启动SolidWorks时会重新尝试连接服务器获取许可)。

Step 4:lmdown优雅重启,释放全部许可

当大量僵尸许可堆积,逐个lmremove效率太低时,可选择在业务低峰期执行许可服务重启。

推荐操作流程:

  1. 通知所有在线用户保存工作并退出SolidWorks。
  2. 管理员CMD中执行:lmdown -c @localhost或直接使用:lmdown -c C:\path\to\license.dat
  3. 等待命令执行完毕,查看lmgrd.log确认服务已完全关闭。
  4. 通过Windows服务管理器(services.msc)找到“SolidWorks SolidNetWork License Manager”服务,手动点击“启动”。

Step 5:检查选项文件,防止问题反弹

服务重启后,务必检查sw_d.opt选项文件配置,这是预防许可被无效占用的关键防线:

# 限制单用户最大同时占用许可数MAX 1 SW2018​# 强制限制借用时限为3天(72小时)MAX_BORROW_HOURS 72 SW2018​# 设置闲置超时自动回收(单位:秒,此处为3600秒即1小时)TIMEOUT 3600 SW2018

保存选项文件后,无需重启服务,FlexNet会自动重新加载。

四、预防与优化建议

以上操作均为事后补救。从长期运维角度,更建议部署专业的许可管理工具来实现事前预警自动回收

  • 闲置许可自动回收: 通过策略配置,当SolidWorks客户端在设定时间内无鼠标键盘操作时,自动回收其占用的浮动许可,释放给队列中的其他用户。无需人工盯着Feature Usage列表。
  • 许可使用报表与预警: 实时监控许可池水位,在占用率达到85%时自动发送邮件或钉钉告警,避免“突然见底”导致全员停摆。
  • 借用许可统一管理: 支持批量查看和回收已借出的许可,避免因人员变动导致的许可长期沉淀。

武汉格发信息技术有限公司(gofarlic.com)的格发许可优化器已原生支持上述功能,可与现有SolidWorks浮动许可环境无缝对接,帮助IT部门将许可利用率提升20%-35%。官网可申请试用,提前规避月底抢许可的窘境。

五、常见问题 FAQ

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)资深许可管理专家撰写,基于多年制造行业浮动许可运维经验,结合实际客户案例总结而成。


相关文章
技术文档
QR Code
微信扫一扫,欢迎咨询~
customer

online

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 board-phone 155-2731-8020
close1
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

姓名不为空

姓名不为空
手机不正确

手机不正确

手机不正确
公司不为空

公司不为空

公司不为空