我收到“MathWorks Licensing Error 97”消息,请问是什么原因?

32 views (last 30 days)
MathWorks Licensing Error 97
A licensing error occurred while trying to use <PRODUCTNAME>.
Unable to communicate with your organization's license server or the license server is not configured properly.

Accepted Answer

MathWorks Support Team
MathWorks Support Team on 15 May 2025
Edited: MathWorks Support Team on 19 Feb 2021
对于 Windows
*****************
如果 mlm.exe 进程未能在许可证管理器上启动,通常会发生此错误。如果此计算机上运行的另一种产品的另一个许可证管理器正在使用 MATLAB 许可证服务器想要使用的那个端口,通常会发生这种情况。要解决此问题,可以采取以下步骤:
 
1.在记事本中打开 $MATLAB\etc(对于 2010b 之前的版本,则为$MATLAB\flexlm)中的 license.dat 文件。这里, $MATLAB 是计算机上的安装文件夹。
2.在该许可证文件中,找到以 SERVER 开头以 27000 结束的那一行。将 27000(端口号)改为另一个端口号,如 27010。
3.打开 $MATLAB\etc\win{32|64}(对于 2010b 之前的版本,则为 $MATLAB\flexlm)中的 lmtools.exe。
4.如果 MATLAB License Server 未高亮显示,则点击选中它
5.转至“启动”(Start)/“停止”(Stop)/“重新读取”(Reread) 选项卡。
6.选中“强制服务器关闭”(Force Server Shutdown) 框,然后点击“停止服务器”(Stop Server)
7.一旦底部的状态栏显示Stopping Server,则点击“启动服务器”(Start Server) 来重新启动服务器。
 
这将立刻启动许可证管理器。要确认它已经启动,请转到“服务器状态”(Server Status) 选项卡并点击“执行状态查询”(Perform Status Inquiry)。如果许可证管理器已启动,您应看到许可证服务器状态为“启动”(Up),守护程序的状态也为“启动”(Up)。例如:
--------
状态
--------
Flexible License Manager status on Tue 7/22/2008 08:42 [Detecting lmgrd processes] License server status: 27010@license-server1 License file(s) on license-server1: C:\MATLAB\R2008a\flexlm\license.dat: license-server1: license server UP (MASTER) v11.4 Vendor daemon status (on license-server1): MLM: UP v11.4 Feature usage info: Users of MATLAB (total of X licenses issued, 0 in use)
如果您看到许可证服务器为“启动”(UP),表明它已启动。此时,您需要告知MATLAB 查看任何已安装 MATLAB 客户端的计算机的更新的端口号。为此,您需要更新该客户端的许可证文件。此文件是下列任一项:
 
$MATLAB\licenses\network.lic(对于 R2008a) $MATLAB\bin\win{32|64}\license.dat(对于 Windows 中 R2008a 之前的版本) $MATLAB/etc/license.dat(对于 Unix/Linux/Mac 中 R2008a 之前的版本)
更新之后,该客户端应当能够获得许可证。
 
如果许可证管理器仍然失败,或者该客户端仍然无法访问许可证,请联系安装和许可支持:
 
联系时请务必发送来自许可证管理器 $MATLAB/flexlm 或etc 目录中的 license.dat 和 lmlog.txt 文件。
 
对于 UNIX/Linux 或 Mac
*****************************
当 /var/tmp 中存在 lockMLM 文件,或者启动许可证管理器的用户在 /var/tmp 中未拥有 lm_TMW 文件,就会发生此错误。要解决此问题,请从 /var/tmp 中删除 lockMLM 文件和 lm_TMW 文件。删除这些文件后,请尝试启动许可证管理器。
如果仍然收到同样的错误消息,问题可能出在现有许可证管理器或供应商守护程序进程上。$MATLAB/etc/lmdown 脚本关闭了运行的 lmgrd 和 MLM 进程。有时,lmdown 脚本在任务中会失败。关闭许可证管理器守护程序最有效的办法是按照以下方式使用 UNIX“kill”命令:
 
首先,您需要确定许可证守护程序是否正在运行。
 
根据您的系统情况,使用以下命令之一。
ps -ef | grep lm
ps agx | grep lm
检查输出,看看有无任何与 MATLAB 关联的 lmgrd 和“lm”或“mlm”正在运行。如果有,通过为每个进程执行(可能需要根用户权限)以下命令来手动终止所有守护程序。
kill <守护程序的进程 ID>
然后,运行 $MATLAB/etc/lmstart 重新启动守护程序。
 
如果此时错误仍然存在,那么也可能是供应商守护程序正试图在被占用端口上运行。要为供应商守护程序指定一个打开的端口,请编辑 $MATLAB/etc 目录下的 license.dat 文件中的 DAEMON 行,在其中包含 port=##### 选项(##### 是一个打开的端口)。端口号最好避开 27000 到 27009 范围(即最好在 1700-1711 范围内)。例如:
 
DAEMON MLM $MATLAB/etc/MLM port=1711
(注意:在 R2011a 之前,Linux/Mac 上的 DAEMON 行为“$MATLAB/etc/lm_matlab”)
 
完成此编辑后,重新启动计算机并启动许可证管理器。
 
有关查找打开的端口的详细信息,请参阅下面列出的相关解决方案。

More Answers (0)

Categories

Find more on 管理产品 in Help Center and File Exchange

Products

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!