ANSYS许可证管理器报错排查指南:从服务启动到端口冲突

发布时间:2026/9/20 17:56:17
ANSYS许可证管理器报错排查指南:从服务启动到端口冲突 1. 许可证管理器报错到底卡在哪一环ANSYS Workbench 这套东西装过的人都懂软件本身装完只是第一步真正让人血压升高的是许可证管理器。你双击 Workbench转两圈弹一个框告诉你许可证不可用或者干脆连管理器服务都起不来。这不是你操作有问题这是 ANSYS 的授权体系本身就比较绕。它不像普通软件那样一个序列号搞定而是靠一个独立的许可证管理服务在后台跑着Workbench、Fluent、Maxwell、HFSS 这些模块启动时都要去问这个服务要授权。服务没起来、端口被占、许可证文件路径不对、环境变量指错任何一个环节出问题你看到的都是同一句冷冰冰的报错。这篇文章面向的是已经装好 ANSYS 但被许可证问题卡住的工程师和学生也适合正在做 ANSYS 安装部署的 IT 运维人员。我会把许可证管理器常见的几类错误拆开从服务启动、许可证文件配置、环境变量设置到端口冲突排查一步步讲清楚每个环节该看什么、该改什么。你不需要有很深的系统知识但需要愿意打开服务面板、命令行和配置文件去看一眼。很多问题其实不是 ANSYS 的 bug而是安装过程中某个默认选项和你的系统环境打架了。我自己的经验是ANSYS 许可证问题里大概七成出在服务没启动或者启动后立刻挂掉两成出在许可证文件本身有问题剩下一成是环境变量和防火墙的锅。所以排查顺序很重要不要一上来就重装先看服务状态再看日志最后才动许可证文件。下面按这个逻辑展开。2. 先搞清楚 ANSYS 许可证管理器的工作方式2.1 它不是一个后台小程序而是一套完整的授权服务ANSYS 用的是 FlexNet 授权体系许可证管理器本质上是一个叫ansyslmd或者ANSYS Licensing Interconnect的服务进程。这个进程启动后会读取一个许可证文件里面记录了你有权使用哪些模块、多少个并发用户、到期时间等信息。Workbench 启动时会通过 TCP 端口去连接这个服务请求一个授权令牌。拿到令牌才能继续加载界面和求解器。这里有个关键点许可证管理器服务和 Workbench 是分开的两个东西。你可以只装许可证管理器不装 Workbench也可以在多台机器上共用一台许可证服务器。很多人的误区是觉得装了 ANSYS 主程序就自动带许可证服务其实安装时如果没勾选许可证管理器组件或者勾了但服务没注册成功后面就会一直报错。2.2 为什么错误信息总是那么模糊ANSYS 的报错信息经常只给一个错误码比如-15、-96、-97或者一句License manager not running。它不会直接告诉你“你的许可证文件第 12 行格式错了”或者“端口 1055 被其他程序占了”。这是因为 FlexNet 的报错机制本身就是这样设计的它把详细原因写进了日志文件界面上只给一个概括性的提示。所以排查的核心动作之一就是找到日志读日志。日志一般在C:\Program Files\ANSYS Inc\Shared Files\Licensing\logs或者%TEMP%目录下文件名类似ansyslmd.log、lmgrd.log。Linux 下在/var/log/ansys或者安装目录的licensing/logs里。日志里会记录服务启动时读了哪个文件、绑定了哪个端口、有没有报错。养成先看日志的习惯能省掉大量瞎猜的时间。2.3 许可证文件里到底写了什么许可证文件通常是一个.lic后缀的文本文件里面核心内容是SERVER行和VENDOR行后面跟着一堆INCREMENT或FEATURE行。SERVER行告诉客户端许可证服务器的主机名和 MAC 地址VENDOR行指定厂商守护进程的路径INCREMENT行定义每个模块的授权数量和到期日。一个常见的坑是SERVER行里的主机名和 MAC 地址必须和实际运行许可证服务的机器一致。如果你换了网卡、改了主机名或者从别人那里拷了一份许可证文件这一行对不上服务就起不来。另一个坑是文件编码Windows 下如果许可证文件被保存成了 UTF-8 with BOMFlexNet 读取时会在第一行前面多出几个不可见字符导致解析失败。用记事本另存为 ANSI 或者 UTF-8 without BOM 能解决这类问题。3. 服务起不来时的完整排查流程3.1 第一步永远是看服务状态Windows 下按Win R输入services.msc找到ANSYS Licensing Interconnect或者ansyslmd相关的服务。看它的状态是“正在运行”还是“已停止”。如果是已停止右键启动看能不能起来。如果启动后立刻又停了或者弹出一个错误框说“服务启动后又停止了”那说明服务进程启动过程中遇到了致命错误通常是许可证文件路径不对或者文件内容有语法错误。Linux 下用systemctl status ansyslmd或者ps -ef | grep lmgrd看进程在不在。如果不在手动跑一下lmgrd -c /path/to/license.lic -l /path/to/log看前台输出什么错误。前台跑的好处是错误直接打在终端上不用去翻日志。注意不要同时运行多个许可证服务实例。有时候之前装过旧版本 ANSYS旧服务还在跑新服务启动时端口冲突也会导致启动失败。先在服务列表里把所有 ANSYS 相关的服务都停掉再单独启动你要用的那个。3.2 检查许可证文件路径和环境变量ANSYS 通过环境变量ANSYSLMD_LICENSE_FILE或者LM_LICENSE_FILE来定位许可证。这两个变量的值可以是1055hostname这种端口加主机名的形式也可以是直接指向.lic文件的完整路径。如果变量没设、设错了、或者指向了一个不存在的文件服务启动时就会报“找不到许可证文件”。在 Windows 下你可以在命令行里echo %ANSYSLMD_LICENSE_FILE%看看当前值是什么。如果为空需要手动设置。设置的地方有两个系统环境变量和 ANSYS 安装时写入的注册表项。建议在系统环境变量里设一份值写成1055你的主机名。主机名用hostname命令查不要凭记忆写大小写和连字符都要对。Linux 下用echo $ANSYSLMD_LICENSE_FILE检查如果没有就在~/.bashrc或者/etc/profile.d/下加一行export ANSYSLMD_LICENSE_FILE1055hostname。改完记得source一下或者重新登录。3.3 端口占用和防火墙的隐蔽影响FlexNet 默认用 1055 端口做许可证服务通信用 2325 端口做厂商守护进程通信。如果这两个端口被其他程序占了服务启动会失败但报错信息往往不会直接说“端口被占”。你可以用netstat -ano | findstr 1055在 Windows 下查Linux 下用ss -tlnp | grep 1055。如果发现被占要么停掉占用程序要么在许可证文件里把端口改成别的比如SERVER hostname 00:11:22:33:44:55 1155同时环境变量也要改成1155hostname。防火墙这块本机使用一般不受影响但如果你是客户端连远程许可证服务器Windows 防火墙或者杀毒软件的入站规则可能会拦掉 1055 端口的通信。表现是服务在服务器上跑得好好的客户端就是连不上。临时关掉防火墙测试一下如果通了就加一条入站规则放行 1055 和 2325 端口。4. 几类高频报错的针对性处理4.1 “License manager not running” 但服务明明在跑这种情况我遇到过好几次服务状态显示正在运行但 Workbench 就是说连不上。原因通常是服务虽然启动了但没有真正绑定到正确的端口或者绑定了但监听地址不对。打开日志看如果日志里有一行Failed to bind to port 1055或者Cannot find server hostname那就说明服务进程本身有问题。另一个可能是主机名解析问题。许可证文件里写的主机名在客户端机器上解析不到或者解析到了错误的 IP。你可以在客户端ping 主机名试试如果 ping 不通就在客户端的hosts文件里加一条静态映射把主机名和 IP 绑死。Windows 的 hosts 文件在C:\Windows\System32\drivers\etc\hostsLinux 在/etc/hosts。还有一种情况是 ANSYS 安装时同时装了多个版本的许可证管理器环境变量指向了旧版本的服务而旧版本服务没启动。这时候要么把旧版本服务也启动要么把环境变量改到新版本对应的端口和主机。4.2 报错码 -15、-96、-97 分别代表什么FlexNet 的错误码有固定含义记住几个常见的能快速定位方向错误码含义常见原因-15无法连接许可证服务器服务没启动、端口不对、防火墙拦截-96许可证文件中的功能项不存在许可证文件不包含该模块、文件过期-97许可证已过期系统时间不对、许可证到期-5没有可用的授权并发数用满、其他用户占着-10无效的许可证文件文件格式错误、主机名不匹配-15 是最常见的基本就是连接问题。先确认服务在跑再确认端口通最后确认主机名解析对。-96 和 -97 通常是许可证文件本身的问题要么文件里没有你要用的模块要么到期了。这时候需要联系许可证管理员更新文件或者检查系统时间是不是被改到了未来。4.3 安装时提示“文件夹错误”或“无法写入”ANSYS 许可证管理器安装时如果提示文件夹错误大概率是权限问题。Windows 下安装程序需要往C:\Program Files\ANSYS Inc\写文件如果你的账户不是管理员或者杀毒软件锁了目录就会失败。解决办法是以管理员身份运行安装程序临时关掉杀毒软件的实时防护装完再开。另一个常见原因是之前装过 ANSYS 没卸干净残留的注册表项和目录让新安装程序判断冲突。这时候需要手动清理卸载所有 ANSYS 相关程序删除C:\Program Files\ANSYS Inc\和C:\Program Files\Common Files\ANSYS Inc\目录用注册表编辑器搜ANSYS把相关键值删掉重启后再装。清理注册表有风险操作前先导出备份。5. 客户端与服务器分离部署时的配置要点5.1 服务器端要固定主机名和 IP如果你是在一台机器上装许可证服务其他机器作为客户端连过来用服务器端的主机名和 IP 最好固定。动态 IP 会导致许可证文件里的地址失效客户端连不上。可以在路由器里给服务器绑一个静态 IP或者在服务器本机设静态 IP。主机名不要用中文不要有空格尽量简短。服务器端的许可证文件里SERVER行写成SERVER 主机名 MAC地址 1055。MAC 地址用ipconfig /all查找物理网卡那一项不要用虚拟网卡的。如果服务器有多个网卡选你实际用来通信的那个。5.2 客户端环境变量要指向服务器客户端不需要装许可证管理器只需要装 ANSYS 主程序然后把环境变量ANSYSLMD_LICENSE_FILE设成1055服务器主机名。注意这里写的是服务器的主机名不是客户端自己的。如果客户端解析不了服务器主机名就在 hosts 文件里加映射。客户端的防火墙一般不用特别设置因为它是主动去连服务器的 1055 端口出站规则默认放行。但如果客户端装了比较严格的安全软件可能会拦出站连接表现就是连不上。临时禁用安全软件测试一下能快速判断。5.3 并发授权不够用时的表现ANSYS 的许可证很多是按并发用户数授权的比如你有 5 个授权同时只能 5 个人用。第 6 个人启动 Workbench 时就会报“没有可用的授权”或者错误码 -5。这时候不是配置问题是授权数量真的不够。解决办法要么等别人退出要么增加授权数量。有些模块在求解时会占用授权求解完成后释放所以如果只是打开界面不求解占用时间会短一些。提示可以在许可证服务器的日志里看到当前谁占用了哪个授权日志里会记录客户端的 IP 和请求的模块名。排查“谁把授权占满了”的时候很有用。6. 实操心得与避坑清单6.1 安装顺序和组件选择很关键ANSYS 安装时如果你只需要本机使用安装程序里要勾选“Install ANSYS License Manager”或者类似的选项。如果只勾了主程序没勾许可证管理器装完就是没授权可用。如果你是从别人那里拷的安装包注意看安装向导里有没有许可证管理器的独立安装入口有些打包版本把它拆开了。安装路径尽量用默认的C:\Program Files\ANSYS Inc\不要装到中文路径或者带空格的路径下。FlexNet 对路径里的特殊字符处理得不好中文路径经常导致服务启动失败。用户名也不要用中文Windows 用户目录如果是中文临时文件路径里带中文也可能出问题。6.2 系统时间、主机名、网卡这三个东西别乱动许可证文件是和主机名、MAC 地址、有效期绑定的。你改了主机名许可证文件里的SERVER行就对不上。你换了网卡MAC 地址变了也对不上。你把系统时间调到未来许可证可能直接过期。所以装好 ANSYS 之后这三样东西尽量保持稳定。如果确实需要改主机名改完之后要同步更新许可证文件里的SERVER行并重启许可证服务。系统时间这块如果只是时区不对一般不影响因为 FlexNet 用的是 UTC 时间。但如果日期差了好几天甚至几个月就可能触发过期判断。确保系统时间同步到网络时间服务器能避免这类莫名其妙的问题。6.3 卸载重装前的清理动作ANSYS 卸载不干净是很多诡异问题的根源。标准卸载流程走完之后还要手动做几件事删除安装目录残留、删除C:\ProgramData\ANSYS Inc\下的配置、清理注册表中HKEY_LOCAL_MACHINE\SOFTWARE\ANSYS Inc和HKEY_CURRENT_USER\SOFTWARE\ANSYS Inc下的键值、删除环境变量里的ANSYSLMD_LICENSE_FILE和LM_LICENSE_FILE。做完这些再重启然后重新安装。如果之前装过其他用 FlexNet 授权的软件比如某些 EDA 工具它们可能也注册了lmgrd服务。这些服务之间可能冲突。在服务列表里看清楚每个服务的可执行文件路径只保留你要用的那个其他的停掉并设为手动启动。6.4 日志才是最好的老师最后再强调一遍遇到许可证问题第一反应应该是找日志。Windows 下日志可能在C:\Program Files\ANSYS Inc\Shared Files\Licensing\logs也可能在%TEMP%下。Linux 下在/var/log/或者安装目录的licensing/logs。日志里会写清楚服务启动时读了哪个文件、绑定了哪个端口、遇到了什么错误。把日志里最后几行报错信息拿去搜往往能直接找到答案。我自己的习惯是装完 ANSYS 之后先手动启动一次许可证服务然后打开日志确认没有报错再启动 Workbench 测试。这样能把问题提前暴露出来而不是等到赶项目的时候才发现许可证用不了。另外把许可证文件、环境变量配置、主机名和 MAC 地址这些信息记在一个文档里换机器或者重装的时候直接照着配能省很多事。