この問題は、 MATLAB ライセンス マネージャー (MLM) を起動した際に必要なポートが使用できず、サービスを開始できなかったことを示しています。このエラーの原因は以下のいずれかである可能性があります。
- ポートの競合
- /var/tmp の競合
- 不正または古い MLM
- 不正なホスト ID
- ライセンスの期限切れ
ポートの競合
ライセンス ファイルで定義されたポートがすでに使用されている場合、ライセンス マネージャーは開始できません。意図しないサービスがポートを使用している場合、PCの再起動等でポートを開放します。
問題が解決しない場合、ライセンス マネージャーに異なるポートを設定する必要があります。以下の様に、ポートはライセンス マネージャーで使用される license.dat ファイルの最初の 2 行で定義されます。
SERVER license-server-name 0123456789AB 27000
DAEMON MLM "C:\Program Files\MATLAB\R20XXx\etc\win64\mlm.exe"
- lmgrd.exe はポート 27000 を使用します。
- MLM.exe はポート番号を設定しない場合、ランダムなポートを使用します。
license.dat ファイルを次の様に編集した場合:
SERVER license-server-name 0123456789AB 27050
DAEMON MLM "C:\Program Files\MATLAB\R20XXx\etc\win64\mlm.exe" port=27051
- lmgrd.exe はポート 27050 を使用します。
- MLM.exe はポート 27051 を使用します。
次に、クライアントマシンで指定しているライセンスサーバーのポート番号を、 network.lic ファイルで更新します。このファイルはデフォルトで以下に格納されます。
- (Windows) - $MATLAB\R20XXx\licenses\network.lic
- (Linux) - /usr/local/MATLAB/R20XXx/licenses/network.lic
- (MacOS) - /Applications/MATLAB_R20XXx.app/licenses/network.lic
クライアントマシンのライセンスファイル (network.lic) の SERVER 行を、ライセンスサーバーのライセンス ファイル (license.dat) の SERVER 行と一致するように更新します。
ファイアウォールがポートをブロックしている場合にもポートの競合が発生する可能性があります。ファイアウォールが原因かどうかを確認するために、可能であれば一時的に無効化します。
ファイアウォールを無効にするとライセンスのチェックアウトが可能になる場合、MLM と lmgrd プロセス の通信を許可する必要があります。lmgrd 及び MLM プロセスの通信許可、またはファイアウォールポリシーに使用ポートの通信許可を行います。
/var/tmp の競合
この問題の対応策として、以下を確認します。
- /var/tmp から lockMLM ファイルと lm_TMW ファイルを削除します。
- ファイルを削除した後、ライセンス マネージャーを再起動します。
同じエラーが引き続き発生する場合、既存のライセンス マネージャーまたはベンダー デーモン プロセスが原因である可能性があります。$MATLAB/etc/lmdown スクリプトは、実行中の lmgrd と MLM プロセスをシャットダウンします。lmdown スクリプトを実行した後、ライセンス マネージャーを再起動します。
不完全な MLM ファイル
ライセンス マネージャーを更新してもこのエラーが解決しない場合、MLM が破損している可能性があります。新しいバージョンの MATLAB をインストールし、MLM を再インストールしてください。
不正なホスト ID
ライセンス ファイルの SERVER 行にあるホスト ID がサーバーの実際のホスト ID と一致しない場合、ライセンス マネージャーは開始できません。サーバーのホスト ID を確認し、ライセンス ファイルを更新してください。
ライセンスの期限切れ
ライセンスの期限が切れている場合、ライセンス マネージャーは開始できません。新しいライセンス ファイルを取得し、ライセンス マネージャーを更新してください。
これらの手順を試しても問題が解決しない場合は、MathWorks サポートにお問い合わせください。