Installation & Licensing Center
HOW TO - Release a Stuck/Reserved/Abandoned License
Authored by Nick Heberle September 20th, 2024 14868 views 11 likes KB1072674
Description
Important Update
In 2024r1, there have been significant improvements to limit the causes requiring you to manually release licenses. For more info, see INFO - Ansys License Disconnect Timeout Overview
There may be occasions where you need to manually release a reserved, stuck or abandoned/ghost licenses. Stuck and ghost licenses mostly occur due to network connectivity issues or rare license server glitches. For more, very helpful information, please read - INFO - Ansys License Disconnect Timeout Overview
Related Articles
Solution
Option 1 - Close the Client Software
While fairly straight forward, the most basic way to release a reserved license is to close the client software that is reserving it. However, the client must be connected to the license server when this is done, otherwise, the license will not be immediately checked back in. This said, simply closing the software, does not always work and you may need to try other options.
Option 2 - Wait for License Timeout
Assuming the client who initially reserved the license has disconnected and the license is not stuck, it will be automatically released, by default, ~2 - 2.5hrs two hours after the client was initially disconnected. If the license is still reserved after 2.5hrs in this scenario, the license is stuck and you will need to use another method.
Option 3 - Restart the Ansys License Manager
The fastest solution to release all reserved, stuck or abandoned licenses is to restart the Ansys License Manager
Warning for Multi-User Environments
When restarting the server in a multi-user environment, the checkout/reservation status of all licenses will be reset on the server. Clients running the software at the time of the restart will attempt checkout a license again on their next heartbeat interval (~5-10min depending on the product). This means all license reservations will be lost and a user can potentially "cut in line".
Worst Case Scenario:
Engineer A is performing a long solve > the license server is restarted > 1min later Engineer B opens the software and pulls the same license that Engineer A was using > 2min later Engineer A's software attempts to checkout a license during the software's heartbeat interval (every ~5min) but can't, because it's already reserved by Engineer B > Engineer A's software runs for approximately 55min (attempting every ~5min to grab a license) until it finally closes and the solve stops.
Note - you can reserve licenses for users via an options file if necessary, but this takes some additional consideration and time to setup - HOW TO - Set User License Privileges via an Options File
Option 4 - Manually Release an Increment from FlexLM via Command Line
Info
For versions 2020 R2 and before, instructions for both Ansys Licensing Interconnect and FlexLM must be followed depending on where the license reservation is located.
- Verify the license increments currently checked out via FlexLM
- On the license server, open a command prompt
- Change directory to the folder with the licensing utilities:
cd C:\Program Files\ANSYS Inc\Shared Files\Licensing\winx64 - Use lmstat to query the license serverfor currently checked out increments:
lmutil.exe lmstat -a -c 1055@localhost - The output will display all license increments on the server and any user checkouts of those license increments.
- Remove the stuck increment
- Use the lmremove command to remove the stuck increment:
lmutil.exe lmremove [-c license_file_list] feature user user_host display
- Use the lmremove command to remove the stuck increment:
Example:
Our user, Nick, uses Ansys 2020 R2 on his office computer, DESKTOP-PC. Ansys has crashed, and the licenses are still checked out on the license server.
When our license server administrator runs the lmstat command, they receive the following output from the command, indicating that Nick has the "ansys" license increment checked out while the software is not running:
C:\Program Files\ANSYS Inc\Shared Files\licensing\winx64>lmutil.exe lmstat -a -c 1055@localhost
Users of ansys: (Total of 1 license issued; Total of 1 license in use)
"ansys" v9999.9999, vendor: ansyslmd, expiry: 28-feb-2022
floating license
Nick DESKTOP-PC DESKTOP-PC 5796 (v2021.0512) (WinDev2108Eval/1055 101), start Tue 10/12 8:43
In order to remove the stuck "ansys" increment, the license administrator would need to run the lmremove command
lmutil.exe lmremove [-c license_file_list] feature user user_host display
Where:
- [-c license_file_list] indicates the license server/file to use, in this case port 1055 on our local server - 1055@localhost
- feature is the license increment to remove, in this case "ansys"
- user is the username of the affected user, in this case Nick
- user_host is the workstation of the affected user, in this case DESKTOP-PC (the first instance in the output)
- display is the display where the user is working, typically the same as the workstation name, in this case DESKTOP-PC (the second instance in the output)
For this user's scenario, the administrator would run the following command to remove the license increment:
lmutil.exe lmremove -c 1055@localhost ansys Nick DESKTOP-PC DESKTOP-PC
The lmremove command does not return an output, so the administrator would need to run lmstat again to confirm the increment has been removed.
Option 5 - Manually Releasing an Increment from Ansys Licensing Interconnect via Command Line (versions 2020R2 and prior)
Info
In client versions 2021 R1 and later, the Ansys Licensing Interconnect is no longer utilized, only FlexLM is. See the instructions for FlexLM in this scenario. For versions 2020 R2 and before, instructions for both Ansys Licensing Interconnect and FlexLM must be followed depending on where the license reservation is.
Warning
This method will only work if your client software is using Ver 2020R2 or prior.
- Verify the increments checked out in the Ansys Licensing Interconnect
- On the license server, open a command prompt
- Change directory to the folder with the licensing utilities:
cd C:\Program Files\ANSYS Inc\Shared Files\Licensing\winx64 - Run the licensing interconnect usage command:
ansysli_util.exe -liusage - The output will display all license increments currently checked out in the licensing interconnect.
- Remove the stuck increment
- Run the licensing interconnect remove command:
ansysli_util.exe -liremove <[user]@[host][:pid]>
where <[user]@[host][:pid]> corresponds to the information output by the -liusage command - The ansysli_util.exe -liremove will return an output listing the increments removed
- Run the licensing interconnect remove command:
Example:
Our user, Nick, uses Ansys 2020 R2 on his office computer, DESKTOP-PC. Ansys has crashed, and the licenses are still checked out on the license server.
When our license server administrator runs the -liusage command, they receive the following output from the command, indicating that Nick has the "ansys" license increment checked out while the software is not running:
C:\Program Files\ANSYS Inc\Shared Files\Licensing\winx64>ansysli_util.exe -liusage
USER@HOST:PID TIMESTAMP NAME USED VERSION APP SERVER
Nick@DESKTOP-PC:6172 2021/10/12 10:05:29 MECH_STRUCT 1 20.2 (2020.0507) MECH
Nick@DESKTOP-PC:6172 2021/10/12 10:05:29 ansys 1 20.2 (2020.0507) MECH 1055@172.29.64.81
USER@HOST:PID TIMESTAMP NAME USED VERSION APP SERVER
To remove the "ansys" license increment, the administrator would remove all checkouts related to the user, their workstation, and the Process ID (PID) using the -liremove command:
C:\Program Files\ANSYS Inc\Shared Files\Licensing\winx64>ansysli_util.exe -liremove Nick@DESKTOP-PC:6172
After running the command, the administrator output will indicate all the increments removed:
C:\Program Files\ANSYS Inc\Shared Files\Licensing\winx64>ansysli_util.exe -liremove Nick@DESKTOP-PC:6172
The following jobs have been removed:
USER@HOST:PID TIMESTAMP NAME USED VERSION APP SERVER
Nick@DESKTOP-PC:6172 2021/10/12 10:05:29 MECH_STRUCT 1 20.2 (2020.0507) MECH
Nick@DESKTOP-PC:6172 2021/10/12 10:05:29 ansys 1 20.2 (2020.0507) MECH 1055@172.29.64.81
USER@HOST:PID TIMESTAMP NAME USED VERSION APP SERVER