如何查找Flexlm liscense功能使用情况?

时间:2017-05-30 17:07:31

标签: flexlm

我已经开发了一个脚本,可以从debug.log文件中筛选出“IN:”和“OUT:”以获取特定功能,如下所示:

  MODULE    IN_OUT  TIMESTAMP       VAR   USAGE
PROE_Flex3C  OUT    4/8/2017 19:27   1     1
PROE_Flex3C  OUT    4/8/2017 19:27   1     2
PROE_Flex3C  OUT    4/8/2017 19:27   1     3
PROE_Flex3C  OUT    4/8/2017 19:27   1     4
PROE_Flex3C  OUT    4/9/2017 2:39    1     5
PROE_Flex3C  IN     4/9/2017 2:42   -1     4
PROE_Flex3C  OUT    4/9/2017 5:45    1     5
PROE_Flex3C  OUT    4/9/2017 5:46    1     6
PROE_Flex3C  IN     4/9/2017 5:50   -1     5
PROE_Flex3C  IN     4/9/2017 5:53   -1     4

对于每个OUT(liscense Checked),脚本放置+1,并且对于每次检查,脚本在VAR字段和&中减去-1。显示USAGE下的计数。

我打算在TIME(时间戳)上绘制功能的使用图(例如PROE_Flex3C)。当我使用描述的方法时,我发现峰值使用超出了可用的总体liscense功能。对于。 .e.g如果PROE_Flex3C可用的总许可证 34 ,则图表显示最大许可证利用率为 40。

FLEXnet Licensing(v10.8.6.2 build 59284 x64_n6)。如何使峰值使用计数准确?可能会遗漏什么?

问题是此类方法计算的峰值使用量超过了总可用许可证。看起来服务器正在泄漏liscense?

1 个答案:

答案 0 :(得分:0)

熟人的解决方案。

对' OUT / IN'可能没有连接到增量/功能的令牌数。

对于Matlab,如果用户具有网络命名用户(NNU)令牌,则可以从同一台计算机启动许多Matlab实例。每个实例都会输出一个' OUT'在日志文件中,但是对于使用Matlab的NNU令牌,令牌的数量不变。为了避免您的情况,解决方案是检查对登录/出口'在更改使用的令牌数之前。

' OUT / IN'使用的令牌数取决于您的软件编辑器和使用的许可证类型。

[更新09/18/2017]

解决方案完全依赖于编辑器和许可证模型。在我的情况下,你的脚本会给出一些糟糕的结果。

在我的例子中,我使用Matlab。

步骤:

  • 来自主持人' hal9000',我发起了第一次Matlab会话;
  • 来自主持人' hal9000',我发起了第二次会议。

我的许可证文件包含多个许可证,有CN和NNU许可证,这就是“拒绝”的原因。日志文件中的跟踪如下:

15:10:58 (MLM) DENIED: "MATLAB" my_login@hal9000  (User/host on EXCLUDE list for feature. (-38,348))
15:10:58 (MLM) DENIED: "MATLAB" my_login@hal9000  (User/host on EXCLUDE list for feature. (-38,348))
15:10:58 (MLM) DENIED: "MATLAB" my_login@hal9000  (User/host on EXCLUDE list for feature. (-38,348))
15:10:58 (MLM) OUT: "MATLAB" my_login@hal9000  
15:12:16 (MLM) OUT: "MATLAB" my_login@hal9000  
15:13:06 (MLM) IN: "MATLAB" my_login@hal9000  
15:40:35 (MLM) IN: "MATLAB" my_login@hal9000  

在我的情况下,NNU令牌会影响到' my_login'对于增量MATLAB,两个操作' OUT' (15:10:58和15:12:16)记录在日志文件中,但只有一个标记从增量MATLAB的可用标记数中删除。

如果第一个' OUT'之前的令牌数量在第二个' OUT'之后是6。数字将是5而不是4,因为我使用相同的主机' hal9000'。在第一个' OUT'之后,所有' OUT'与' my_login @ hal9000'相关联已记录,但不会更改' my_login'使用的令牌数量在主持人' hal9000'。

我对Comsol也有同样的情况,所有' OUT'由'my_login @ hal9000'制作在日志文件中写入,但可用的令牌数量仅减少1个令牌,所有' OUT'操作

在您的脚本中,可能需要检查关联' login @ host'了解您是否必须根据您的许可模式更改所使用的令牌数量。