Ansys License Manager 停止与连接失败排查指南 1. 从一次真实的授权中断说起如果你正在用 Ansys 做仿真某天早上打开 Workbench 或者 Electronics Desktop突然弹出一句Ansys License Manager is stopped或者更让人抓狂的connection timed out while reading data那你大概率已经踩进了授权服务这个坑里。这个问题的典型表现是软件本身装得好好的昨天还能算今天就不行了或者刚装完就报错连界面都进不去。它跟你的模型、网格、求解设置一点关系都没有纯粹是授权服务这一层出了问题。我这些年帮同事、朋友处理过不下几十次这类故障从学生版到商用版从单机授权到网络浮动授权几乎各种组合都遇到过。可以很负责任地说Ansys 的授权问题里超过七成不是授权文件本身坏了而是服务没起来、端口被占、主机名对不上、或者残留进程在捣乱。很多人一看到报错就急着重装软件结果重装三遍还是同样的错误因为根因根本不在软件安装包上。这篇内容面向的是所有被 Ansys 授权问题卡住的人——不管你是刚装完软件的新手还是维护实验室授权服务器的老手。我会把License Manager is stopped和连接失败这两类问题拆开讲清楚从底层机制到逐步排查再到彻底清理重装的完整流程尽量让你看完之后能自己定位问题而不是靠反复重装碰运气。关键词就三个Ansys、License Manager、连接失败全文围绕它们展开。2. 先搞懂 Ansys 授权到底是怎么跑起来的2.1 授权服务的三层结构很多人排查授权问题效率低根本原因是没搞清楚这套东西的运作方式。Ansys 的授权体系大致分三层理解这三层排查时就能快速缩小范围。第一层是授权文件license file通常是一个.lic文件里面写明了你买了哪些模块、有效期到什么时候、绑定在哪台机器上。这个文件是静态的一般不会自己变坏除非你手动改过或者被误删。第二层是授权服务进程License Manager / lmgrd它负责读取.lic文件然后在网络上广播这些授权等待客户端来申请。Ansys 用的是 FlexNet 授权机制核心进程叫lmgrd还有一个厂商守护进程ansyslmd。这两个进程必须同时活着授权才能正常发放。第三层是客户端请求也就是你打开的 Workbench、Fluent、Maxwell 这些软件它们通过网络向授权服务发起请求拿到授权后才能启动。Ansys License Manager is stopped这个报错说的就是第二层——服务进程没在跑。而connection timed out则是第三层的问题——客户端连不上服务可能是服务没起也可能是网络、端口、防火墙挡在了中间。2.2 为什么服务会自己停掉服务不会无缘无故停。根据我的经验常见原因有这么几类系统重启后服务没有自动启动。这是最常见的一种。Windows 服务默认可能是手动启动类型重启后不会自己起来。授权文件路径变了或者文件被移动。服务启动时找不到.lic文件启动失败后自动退出。端口被占用。FlexNet 默认用 1055 和 2325 两个端口如果被别的程序占了服务起不来。主机名或 MAC 地址变了。授权文件里绑定了主机名和网卡物理地址换了网络环境或者改了主机名授权校验就失败。残留的 lmgrd 进程。有时候服务显示已停止但后台还有个僵死的 lmgrd 进程占着端口导致新服务起不来。杀毒软件或安全策略拦截。某些安全软件会把 lmgrd 当成可疑进程干掉。理解这些原因之后你会发现排查思路其实很清晰先确认服务状态再确认授权文件然后查端口和进程最后看网络和防火墙。2.3 单机授权和网络授权的区别这里要特别区分两种部署方式因为排查方法完全不同。单机授权是把授权服务装在本机客户端也连本机通常是localhost或1055本机主机名。这种模式下问题基本都出在本机的服务、端口、主机名上。网络授权是授权服务装在服务器上多台客户端通过网络连接。这种模式下除了服务器本身的问题还要排查客户端到服务器的网络连通性、防火墙规则、DNS 解析等。我见过太多人把网络授权的问题当成单机问题来查在本机反复折腾服务其实根因是服务器那边根本没开机或者防火墙挡了端口。所以第一步永远是搞清楚你的授权是哪种模式。3. License Manager is stopped 的逐步排查链路3.1 第一步确认服务真实状态不要只看报错弹窗要亲自去系统里确认服务状态。Windows 下按Win R输入services.msc找到名字里带Ansys或FlexNet的服务看它的状态是正在运行还是已停止。如果显示已停止先别急着点启动因为直接启动大概率会失败。正确的做法是右键查看属性确认可执行文件的路径指向的是不是正确的 lmgrd 位置以及启动参数里的授权文件路径对不对。在 Linux 下用这条命令看服务状态# 查看 lmgrd 进程是否在跑 ps -ef | grep lmgrd ps -ef | grep ansyslmd # 查看服务状态如果是 systemd 管理 systemctl status ansyslmd如果进程列表里什么都没有说明服务确实没起来。如果有 lmgrd 但客户端还是连不上那问题可能在端口或授权文件上。3.2 第二步手动启动服务看真实报错图形界面点启动往往只给你一句启动失败不给原因。这时候要手动启动才能看到真正的错误信息。Windows 下打开命令提示符建议用管理员权限cd 到 lmgrd 所在目录通常是cd C:\Program Files\ANSYS Inc\Shared Files\Licensing\winx64 lmgrd.exe -c C:\Program Files\ANSYS Inc\Shared Files\Licensing\license_files\ansyslmd.lic -l C:\temp\lmgrd.logLinux 下类似cd /ansys_inc/shared_files/licensing/linx64 ./lmgrd -c /ansys_inc/shared_files/licensing/license_files/ansyslmd.lic -l /tmp/lmgrd.log关键是那个-l参数它把日志写到指定文件。启动失败后打开这个日志文件里面会明确告诉你失败原因比如cannot find license file、port already in use、invalid hostid等等。这一步是整个排查过程中信息量最大的环节强烈建议每次都做。3.3 第三步读懂日志里的关键行日志文件里信息很多但真正有用的就那么几行。我总结了几种典型报错和对应含义日志报错关键词含义处理方向Cannot find license file找不到授权文件检查-c后面的路径是否正确Failed to open the TCP port端口被占用换端口或杀掉占用进程Invalid hostid on SERVER line主机名/MAC 不匹配核对授权文件里的绑定信息License server does not support this feature授权文件里没有该模块确认购买的模块和版本lmgrd is already running已有进程在跑先杀掉旧进程再启动看到Invalid hostid这类报错基本可以确定是授权文件和当前机器对不上了。这时候要么改授权文件里的主机名要么联系供应商重新生成授权。3.4 第四步端口占用的排查与处理FlexNet 默认用两个端口lmgrd用 1055ansyslmd用 2325。如果这两个端口被别的程序占了服务就起不来。Windows 下查端口占用netstat -ano | findstr :1055 netstat -ano | findstr :2325Linux 下netstat -tlnp | grep 1055 netstat -tlnp | grep 2325 # 或者用 ss ss -tlnp | grep 1055如果发现端口被占记下那个 PID去任务管理器或ps里看看是什么程序。如果是残留的 lmgrd直接杀掉如果是别的软件可以考虑给 Ansys 换端口。换端口的方法是在授权文件里改 SERVER 行比如把1055改成1056同时客户端连接字符串也要跟着改。改完之后记得重启服务。提示改端口之后所有客户端的连接配置都要同步更新否则会出现服务器在跑但客户端连不上的情况。网络授权环境下尤其要注意这一点。4. 连接失败类问题的网络层排查4.1 先分清是连不上还是连上了但被拒connection timed out和connection refused是两个不同的错误含义完全不同。timed out意思是客户端发出的连接请求石沉大海没有任何回应。这通常是网络不通、防火墙丢包、或者服务器根本没开机。refused意思是服务器收到了请求但明确拒绝了。这通常是服务没在监听那个端口或者端口号写错了。还有一种The license server may be experiencing a high demand这个报错说的是服务器在跑但授权数量不够了或者请求太频繁被限流。这种情况不是连接问题而是授权容量问题。分清楚这三种排查方向就完全不同。timed out查网络refused查服务和端口high demand查授权数量和并发。4.2 用 telnet 和 ping 快速定位网络问题排查网络授权最直接的工具就是ping和telnet。先 ping 服务器确认基本连通性ping 192.168.1.100如果 ping 不通那问题在网络层跟 Ansys 无关先解决网络。如果 ping 通了再用 telnet 测端口telnet 192.168.1.100 1055如果 telnet 能连上屏幕变黑或者显示连接成功说明端口是通的问题在授权服务本身。如果 telnet 卡住或者报连接失败说明端口不通可能是防火墙挡了。Windows 下如果没装 telnet 客户端可以用 PowerShell 的Test-NetConnectionTest-NetConnection -ComputerName 192.168.1.100 -Port 1055这个命令会明确告诉你TcpTestSucceeded是 True 还是 False比 telnet 更直观。4.3 防火墙和主机名解析这两个隐形杀手防火墙是网络授权里最常见的坑。服务器上的防火墙可能挡了 1055 和 2325 端口客户端根本连不进来。Windows 防火墙、Linux 的 iptables/firewalld、甚至某些企业级安全软件都可能拦截。处理方法是把这两个端口加入白名单。Windows 下可以在高级安全 Windows Defender 防火墙里新建入站规则放行 TCP 1055 和 2325。Linux 下用 firewalldfirewall-cmd --permanent --add-port1055/tcp firewall-cmd --permanent --add-port2325/tcp firewall-cmd --reload另一个隐形杀手是主机名解析。授权文件里 SERVER 行写的是主机名比如SERVER mylicserver 001122334455 1055。客户端连接时如果用的是1055mylicserver就需要能把这个主机名解析成 IP。如果 DNS 解析不了或者 hosts 文件里没配就会连接失败。解决办法是在客户端的 hosts 文件里加一条静态映射# Windows: C:\Windows\System32\drivers\etc\hosts # Linux: /etc/hosts 192.168.1.100 mylicserver这样即使 DNS 有问题也能通过 hosts 解析到正确 IP。这个技巧在网络授权环境里非常实用能省掉大量排查时间。4.4 客户端连接字符串的写法陷阱客户端配置授权服务器时连接字符串的写法有讲究。常见格式是端口主机名比如1055mylicserver。这里有几个容易踩的坑端口和主机名顺序写反。必须是端口主机名不是主机名端口。用了 IP 但授权文件绑定的是主机名。有些情况下用 IP 连不上必须用主机名。主机名大小写不一致。虽然理论上主机名不区分大小写但某些环境下会出问题建议完全按授权文件里的写法来。多网卡机器连错网段。服务器有多张网卡时客户端可能连到了错误的网段。我遇到过一次特别隐蔽的问题服务器有两张网卡授权文件绑定的是网卡 A 的 MAC但客户端通过网卡 B 的 IP 去连结果一直超时。后来在客户端指定了网卡 A 的 IP 才解决。所以多网卡环境下一定要确认客户端连的是授权绑定的那个网段。5. 彻底清理与重装的正确姿势5.1 为什么直接重装往往没用很多人一遇到授权问题就重装 Ansys结果发现重装之后问题依旧。原因很简单重装软件不会清理授权服务的残留也不会修复端口占用和主机名问题。如果根因是残留进程或者端口冲突重装一百遍也没用。正确的做法是先彻底清理旧的授权服务再重新安装配置。清理不干净新装的服务照样起不来。5.2 清理残留服务和进程的完整步骤Windows 下的清理流程停止所有 Ansys 相关服务。在services.msc里找到Ansys License Manager、FlexNet Licensing Service等全部停止。杀掉残留进程。打开任务管理器结束所有lmgrd.exe、ansyslmd.exe、FNPLicensingService.exe进程。删除服务注册。用管理员权限打开命令提示符sc delete Ansys License Manager sc delete FlexNet Licensing Service清理安装目录。删除C:\Program Files\ANSYS Inc\Shared Files\Licensing下的内容保留授权文件备份。清理注册表。这一步要谨慎用regedit搜索Ansys和FlexNet删除相关项。操作注册表前务必备份。Linux 下的清理# 停止服务 systemctl stop ansyslmd systemctl stop lmgrd # 杀掉残留进程 pkill -9 lmgrd pkill -9 ansyslmd # 删除服务文件 rm /etc/systemd/system/ansyslmd.service systemctl daemon-reload清理完之后重启一次机器确保所有残留都释放干净再开始重装。5.3 重装时的关键配置项重装授权服务时有几个配置项必须注意安装路径不要有中文和空格。这是老生常谈但确实有人栽在这上面。授权文件路径要固定。建议放在一个专门的目录比如C:\AnsysLic\不要放在桌面或临时目录。服务启动类型设为自动。这样重启后服务能自己起来避免重启后授权失效的问题。记录主机名和 MAC 地址。安装前先确认安装后核对授权文件里的绑定信息是否一致。安装完成后先手动启动一次服务确认能起来再用客户端测试连接。不要装完就直接开软件那样出错了不好定位。5.4 验证授权是否真正可用服务起来不等于授权可用。要真正验证得用 Ansys 自带的授权查询工具。Windows 下在授权目录里有lmutil.exe可以这样查lmutil lmstat -c 1055localhost -a这个命令会列出所有可用的授权模块和当前使用情况。如果能看到你需要的模块比如ansys、fluent、maxwell说明授权正常。如果报错或者列表为空说明授权还有问题。Linux 下同理./lmutil lmstat -c 1055localhost -a这一步是判断授权是否真正可用的金标准比打开软件试要靠谱得多因为它直接查询授权服务不依赖客户端软件的状态。6. 几个高频疑难场景的实战处理6.1 重启后授权失效的根治方法每次重启电脑都要手动启动授权服务是很多人遇到的烦人问题。根因是服务启动类型不是自动或者服务依赖项没配好。根治方法在服务属性里把启动类型改成自动并且设置恢复选项——第一次失败、第二次失败、后续失败都设为重新启动服务。这样即使服务偶尔崩溃也能自动恢复。如果改了自动还是不行检查服务的登录选项卡确认用的是有足够权限的账户。有些环境下服务以 Local System 运行会失败需要改成管理员账户。6.2 多版本 Ansys 共存的授权冲突装了多个版本的 Ansys比如同时有 2022 和 2024授权服务可能互相冲突。常见表现是某个版本的模块找不到授权或者服务反复重启。处理原则是多个版本尽量共用同一个授权服务。在安装新版本时选择使用现有的授权服务而不是重新装一个。如果已经装了多个服务保留一个卸载其余的然后让所有版本都指向这一个服务。如果授权文件里同时包含多个版本的模块确认版本号匹配。有时候授权文件是给旧版本生成的新版本软件识别不了需要重新生成授权。6.3 学生版和商用版的授权差异学生版Ansys Student的授权机制和商用版不同。学生版通常是本机授权不需要单独装 License Manager授权文件内置在安装包里。所以学生版一般不会出现License Manager is stopped的问题如果报错多半是安装不完整或者授权文件损坏。商用版才需要独立的授权服务。如果你用的是学生版却看到 License Manager 相关报错先确认是不是装错了版本或者系统里残留了商用版的授权服务在干扰。6.4 授权服务器高负载导致的间歇性失败The license server may be experiencing a high demand这个报错说明服务器在跑但授权不够用了。这在多人共用的实验室或企业环境里很常见。短期解决办法是错峰使用或者等一会儿重试。长期解决办法是增加授权数量或者优化授权分配策略。还有一个容易被忽略的点僵尸授权。有时候用户异常退出授权没有正常释放导致授权被占用但实际没人用。这时候可以用lmutil lmstat查看哪些授权被占用必要时用lmutil lmremove强制释放。# 查看某模块的详细占用情况 lmutil lmstat -c 1055localhost -f ansys # 强制移除某个占用谨慎使用 lmutil lmremove -c 1055localhost -h 主机名 用户名 显示名 模块名强制释放要谨慎因为可能影响正在正常使用的用户。建议先确认那个授权确实是僵尸占用再操作。7. 我踩过的坑和总结出的经验说几个我实际踩过的坑都是文档里不会写的。第一个坑是授权文件里的主机名和实际主机名不一致。有次帮人排查服务怎么都起不来日志报Invalid hostid。查了半天发现授权文件里写的是SERVER oldname ...但机器主机名早就改成了newname。改回主机名或者重新生成授权才解决。所以改主机名之前一定要考虑授权的影响。第二个坑是Windows 防火墙的专用网络和公用网络配置不同。有次服务器防火墙在专用网络下放行了端口但客户端连过来时被识别为公用网络规则没生效一直超时。后来把两个网络配置都放行才解决。这个坑很隐蔽因为你在服务器上测端口是通的但客户端就是连不上。第三个坑是杀毒软件静默拦截 lmgrd。某次装完授权服务服务启动几秒后就自动停止日志里没有任何错误。查了半天发现是杀毒软件把 lmgrd 当可疑进程隔离了。把授权目录加入杀毒软件白名单后正常。所以装完授权服务后建议把授权目录和 lmgrd 进程加入安全软件白名单。第四个坑是授权文件路径里有空格导致服务启动失败。Windows 服务启动参数里如果路径带空格需要用引号包起来但某些安装程序生成的参数没加引号导致服务起不来。手动改服务参数加引号后解决。这些坑的共同点是报错信息往往不直接指向根因需要结合日志、端口、进程、网络多个维度交叉排查。所以排查授权问题耐心和系统性比什么都重要。别一上来就重装先看日志先查端口先确认主机名大部分问题都能在这几步里定位到。