上周五8点47分,某汽车研究院的CATIA V5-6R2023卡在启动界面,报License check-out timeout。后台看,lmgrd没挂,CPU也不高,就是签不出。这种“服务器活着,许可拿不到”的情况,我今年处理了11起。问题几乎都不在硬件,在浮动许可的调度逻辑。
列几个真实报错,你对号入座:
FLEXnet Licensing error -15,570:客户端连得上端口,但license server响应超时 License request timed out after 30 seconds:SolidWorks 2024 SP1启动弹窗 No available licenses for feature:ANSYS Workbench 2024 R1,明明看后台还有剩余 从lmgrd的调度机制看,四个原因最常见:

下面这套流程,我在一台CentOS 7.9 + FlexNet 11.19.4环境上验证过,服务CATIA、SolidWorks、AutoCAD混合池,检出平均等待从原来的47秒降到2分钟以内。
我不建议一上来就改配置。先抓一手数据。
lmutil lmstat -c 27000@lic-srv -a | grep -E "Users of|queue"
我自己习惯顺手看排队长度:lmutil lmdiag -c 27000@lic-srv
如果输出里压根没看到QUEUE相关字段,说明排队功能没启用。
【专家提示】
有些版本lmstat不显示排队,要看lmgrd.log里有没有denied记录。我一般grep "denied" lmgrd.log | wc -l,一天超过50条,就该动刀了。在license文件里,给关键feature加QUEUESIZE。以SolidWorks为例:
FEATURE swstd flexnet 2024.12 31-dec-2026 32 \
VENDOR_STRING=xxxx \
QUEUESIZE=10
意思是:最多10个人排队等swstd。
【避坑指南】
QUEUESIZE不是越大越好。设成50,用户会傻等十几分钟,以为软件坏了。我一般按并发数的30%设,32个许可就设10。客户端太急躁,服务器太拖拉,两头一挤就超时。
服务器端,缩短心跳判定。在lmgrd启动参数里加:
lmgrd -c /opt/flexnet/license.dat -local
并在/etc/sysctl.conf调TCP:net.ipv4.tcp_keepalive_time = 60
net.ipv4.tcp_keepalive_intvl = 10
net.ipv4.tcp_keepalive_probes = 3
重载后,断线30秒左右就能被识别。
客户端侧,SolidWorks/AutoCAD这类,在环境变量里把超时放宽:set FLEXLM_TIMEOUT=10000000
单位微秒,约10秒。默认很多是3秒,VPN环境直接挂。
这是实现快速循环的关键。
在license文件里细化TIMEOUT:
TIMEOUT swstd 300
TIMEOUT catia 600
300秒=5分钟。工程师切去开会,许可5分钟内回池,后面排队的人马上接上。
【专家提示】
ANSYS的ansyslmd对TIMEOUT有下限,我实测2024版最低只能压到7200秒(2小时)。这类计算软件,别硬压,改用feature拆分——前处理feature收紧,求解feature放宽。写个凌晨回收脚本,不杀活人,只清死连接:
#!/bin/bash
# clear_stale.sh
lmutil lmremove -c 27000@lic-srv -f swstd -h all
lmutil lmremove -c 27000@lic-srv -f catia -h all
配合cron:0 2 * * * /opt/flexnet/clear_stale.sh
第二天早高峰,池子是干净的。纯命令行,用户看不见自己排第几,只会觉得又坏了。
我现在在运维端跑格发许可优化器。它不碰license文件,只读lmstat和日志,干三件事:
标记“已断线但还占着”的会话,支持一键lmremove 
同一套环境(共56个许可,CATIA 28个、SolidWorks 28个),优化前后各跑一周,时间2026年4月:
| 指标 | 优化前(4.7–4.13) | 优化后(4.14–4.20) |
|---|---|---|
| 平均检出等待时间 | 47秒 | 1分12秒(含排队) |
| 检出失败率 | 18.3% | 2.1% |
| 早高峰(8:30–9:30)超时报错次数 | 63次 | 4次 |
| 许可闲置>10分钟占比 | 34% | 7% |
| IT受理“打不开软件”工单 | 31张 | 5张 注意,许可数量一分钱没加。只是让排队从“暗等”变成“明等”,回收从“天级”变成“分钟级”。 |
Q:排队的人多了,会不会有人排到下班?
会,但概率低。我这边28个CATIA,高峰排队最长一次是7个人,平均等3分钟。真排到下班,说明feature配比本身有问题,那是增购的理由,不是策略能解决的。
Q:lmremove会不会把正在算的东西弄崩?
我只在两种情况下用:断线超过5分钟,或闲置超时触发。正常计算进程,GPU/CPU有负载,工具会自动跳过,不硬踢。
Q:AutoCAD这种轻量软件也要排队吗?
要。审图岗一天开几十次,每次只画两分钟。以前一窝蜂上来,全超时。现在排队+3分钟回收,反而没人超时了。
VPN用户单独分组 VPN心跳不稳,我给他们统一设FLEXLM_TIMEOUT=15000000,并缩短TIMEOUT。办公室有线网用户反而可以宽一点。 检出超时,是浮动许可最容易被误读的问题。多数公司第一反应是“加许可”,但加完三个月,又回到老样子。
先把QUEUESIZE、TIMEOUT、心跳回收这三件事对齐,再谈要不要加。很多时候,你缺的不是许可,是让许可动起来的机制。