エラー
GurobiError: Too many sessions, X active sessions for a baseline of Y
は、WLS(Web License Service)ライセンスのセッション数制限を長期間超えた場合に発生します。 WLSセッションは、環境(Gurobi Environment)が閉じられるまでライセンストークンを占有し、トークンの寿命が切れるまで保持されます。
アクティブセッションの超過を解決する
アクティブなWLSセッションの数を減らすには、実行中の余計なセッションを特定して終了し、関連するトークンが期限切れになるのを待つ必要があります。意図せぬセッション超過は、ユーザーやアプリケーションがライセンストークンを誤って使用したり解放しなかったりすることが原因である可能性があります。
現在のアクティブセッションを表示するには、Web License Manager > Sessionsセクションに移動します。Web License Manager > Reportセクションでは、過去のセッション使用に関する追加情報が表示されます。マネージャーを通じてトークンを取り消したり、使用セッションを終了したりすることはできないことに注意してください。
予防とベストプラクティス
WLSライセンスにおける、意図しないセッションの作成や維持を避けるためのベストプラクティスは以下の通りです:
- トークンが正しく解放されるよう、アプリケーションで適切なセッション管理を実装する
- Gurobi Environmentのセッション管理に関する情報は、リファレンスマニュアルのSession boundariesをご覧ください。
- Python向けAPIのgurobipyに関する追加の詳細な議論と推奨されるコードパターンについては、こちらをご覧ください: How do I manage Gurobi environments in gurobipy?
- 定期的にWeb License Managerでセッション使用を監視し、予期しない使用の発生傾向の特定・修正に役立てる
トークンの期間は、WLSTokenDurationパラメータを変更することで調整できますが、最小(およびデフォルト)の値は5分です。各プロセスは、トークンの寿命が切れるまでライセンストークンを占有します。