使用flexlm的lmstat实用程序时,lmstat统计信息不正确

时间:2016-06-17 13:40:40

标签: licensing eda flexlm

我一直在使用flexlm的lmstat实用程序每隔5分钟获取一次许可证统计信息,到目前为止,我已经发现安装的许可证数量和预订数量上的lmstat数字不正确!并且此类事件非常间歇性地发生:(我们尝试升级lmstat和其他东西,如供应商守护程序等等!但没有真正帮助

任何人都有类似的情况和良好的解决方案吗?

1 个答案:

答案 0 :(得分:0)

很难给你一个像'你必须这样做'的回应,因为没有技术信息。

我试着向你提出一些想法。

lmutil lmstat命令提供标准信息。问题是结果的解释取决于编辑的许可文件,而不是Flexnet。

对于Matlab,您可以拥有名称网络用户(NNU)和Concurent(CN)许可证。对于NNU,您有一个登录附加每个令牌。 CN,'先到达,先到先得'。如果在同一台服务器上有10个NNU令牌和10个CN令牌,lmstat -c <port@server> -a将报告30个令牌可用。 这只是因为Mathworks。如果您有1个NNU令牌,则可以使用来自2个不同主机的Matlab。所以10 NNU给2 * 10 = 20个令牌,有10个CN令牌,似乎你有30个令牌。对用户来说非常困惑。

进行预订时,即使没有人使用该令牌,您也会在许可证服务启动时使用该令牌。可用令牌的数量减少了。

[更新]

关于'lmgrd / lmutil'版本,每个供应商定义要使用的版本,但通常可以使用更高版本。

我检查了Cadence,Comsol和其他许可服务。数量很好。

您必须验证以下行的计数:

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

之后,您使用了令牌('保留'令牌看起来像'已使用'):

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

当您手动检查计数并且它是否良好时,您的许可证服务器是好的。在示例中:2个真实用户但使用3个令牌+ 1个预留= 4个令牌。在解析时要小心,不要错过, 2 licenses,我有一个错过了它的Awk脚本。

您必须同时检查许可证服务器的状态,日志文件和用户的操作。要检查状态,您可以使用:

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

使用令牌的时间和长度是软件的属性:

  • 软件启动时可以获取令牌(OUT),软件停止时释放(IN);
  • 只有在功能完成工作时调用并释放功能时才能获取(OUT);
  • 可立即获取(OUT)并释放(IN)令牌,以检查是否可以使用该软件或功能。

因此,如果您每五分钟检查一次许可证,则可能会丢失许多“OUT”和“IN”操作。但这不是问题lmutil lmstat只在特定时刻提供有关许可证的信息。

如果要遵循所有用法,则必须使用PHPlicensewatcher:http://phplicensewatch.sourceforge.net/之类的日志文件。该工具在crontab中创建一个'scp',以获取许可证服务器上的日志文件。

根据守护程序供应商的情况,当您更新许可证文件时,您可以创建lmutil lmreread -c <file>,但有些人(如Matlab)不接受此操作,您必须重新启动。这可能会导致服务器上的增量/令牌数量与lmstat lmstatus -c <port@server> -i看到的可用资源之间存在差异。