Incorrect lmstat stats while using flexlm's lmstat utility

1.6k Views Asked by At

I have been using flexlm's lmstat utility to get the license statistics on every 5min basis and so far i have observed that incorrect lmstat numbers on installed license counts and reservation counts as well! and such events occurs very intermittently :( we tried to upgrading lmstat and other stuffs like vendor daemons and so on! but nothing really helping

Can any one had this similar situation and good solution ?

1

There are 1 best solutions below

3
On BEST ANSWER

It's hard to give you a response like 'you must do that' because there is no technical informations.

I try to propose you some ideas.

The lmutil lmstat command give a standard information. The problem is that the interpretation of the result is depending of the editor's license file, not from Flexnet.

For Matlab, you can have Name Networked User (NNU) and Concurent (CN) licenses. For the NNU, you have a login attached a each token. For CN, 'first arrived, first served'. If on the same server you have 10 NNU tokens and 10 CN token, lmstat -c <port@server> -a will report 30 tokens available. It's only due to Mathworks. When you have 1 NNU token, you can use Matlab from 2 different hosts. So 10 NNU give 2 * 10 = 20 tokens, with the 10 CN tokens, it seems that you have 30 tokens. Very confusing for the users.

When you make a reservation, you consume the token when the license service start even if no one use the token. The number of available tokens is reduced.

[Update]

About of the version of 'lmgrd/lmutil', each vendor define a version to use, but often you can use a higher version.

I've checked Cadence, Comsol and other license services. The counts are good.

You must verify the counts for the lines like :

Users of <an increment>:  (Total of 5 licenses issued;  Total of 4 licenses in use)

After, you have the used token ('reserved' token are seen like 'used') :

1 RESERVATIONs for GROUP Better_Group (server/2700)    
jason abc057 abc057 (v2015.0623) (shoe/28512 3886), start Fri 11/20 14:41
simon abc057 abc057 (v2014.1110) (shoe/28512 4166), start Fri 11/20 15:37, 2 licenses

When you manually check the count and if it is good, your license server is good. In the example : 2 real users but 3 tokens + 1 reservation = 4 token used. Be careful in your parsing, don't miss the , 2 licenses, I have a Awk script that miss that.

You must check in the same time the status of your license server, the logfile and the user's actions. To check the status, you can use :

lmutil lmstat -c <port>@<server> -a

When and how long a token is used is an software's property :

  • a token can be taken (OUT) when the software start and released (IN) when the software is stopped;
  • a token can be taken (OUT) only when a feature is called and released when the feature has finish his work;
  • a token can be taken (OUT) and released (IN) immediately to check if the software or the feature could be used.

So, if you check your licenses every fives minutes, many 'OUT' and 'IN' actions could be missing. But it's not a problem lmutil lmstat give only informations on the licenses at a specific instant.

If you want follow all usages, you must work with the logfiles like PHPlicensewatcher : http://phplicensewatch.sourceforge.net/. The tool make a 'scp' in a crontab to get the logfile on the licenses server.

Depending of the daemon vendor, when you update the license file, you could make a lmutil lmreread -c <file>, but some (like Matlab) don't accept this and you must make a restart. This could introduce a difference between the number of increments/tokens on the server and the resources available seen by a lmstat lmstatus -c <port@server> -i.