Who or what is consuming my licenses?
From time to time, we get the previous question in support, something or someone is using more licenses than expected, and we need to find what.
We have two scenarios. The first scenario is when we realize that the licenses are exhausted when the application does not work or when we try to connect through the terminal and get the "lovely"
<LICENSE LIMIT EXCEEDED> message:
The second scenario is when the end-user complains they could not use the application at some time, and we are late to see the problem when it is happening. In these cases, we usually see the following the "License Limit exceeded xxxx times" message in the messages.log:
Catching the problem on time
For the first scenario, where we see the problem happening, we have some alternatives:
- If we can log in to the System Management Portal, go to the License section and examine what is using what.
- Connect via terminal using the -B parameter (a regular connection is impossible because all the licenses are used). The -B parameter is used for administrator emergency login if logins are disabled or licenses are exhausted.
iris session <instance> -B
- Once you connect, run the License DumpLocalAll method to dump all the licenses and examine what is consuming every slot. This file will contain something like this:
After the licenses are dumped and examined, most customers don't require our help to find out what is happening. They can identify the machines, users, or applications consuming more licenses than expected.
See the documentation for more details on how to connect to iris and about the License class:
- The iris Command on Unix®, Linux, and macOS
- The iris Command on Windows
- Methods to Show Local License Information
After the problem happened
We have some alternatives for the second scenario, where we see the problem after it happened and can't catch it.
1) Monitor the messages.log for the License alert message (and others) to catch the problem on time.
An easy way to monitor level 2 messages is using the super fantastic tool ^MONMGR (System monitor). You will receive an email once the system gets any alert with level 2 (like the licenses). You will be alerted immediately, so you can connect to the system and check the license usage using the System Management Portal (License sections) or from the terminal.
2) Log license usage into the messages.log.
Do traceon^%SYS.LICENSE // turns license tracing on. Do traceoff^%SYS.LICENSE // turns license tracing off.
Conclusions
As I said, once you are able to catch the problem on time and see the output of the license dump, it will be very easy to determine what is consuming the licenses. If there is something unusual, you will need to fix it, if not, you may need to buy more licenses, but that's another story and you can get more help from the WRC and Sales colleagues