0

我开发了一个脚本,从 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(签出许可),脚本会放置 +1,并且对于每个签入,脚本会在 VAR 字段中减去 -1 并在 USAGE 下显示计数。

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

FLEXnet 许可(v10.8.6.2 build 59284 x64_n6)。如何使峰值许可使用计数准确?可能缺少什么?

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

4

1 回答 1

0

一个熟人的解决办法。

“OUT/IN”对的数量可能与增量/特征的令牌数量无关。

对于 Matlab,如果用户有一个网络命名用户 (NNU) 令牌,他可以从同一台计算机启动多个 Matlab 实例。每个实例都会在日志文件中放置一个“OUT”,但是对于使用 Matlab 的 NNU 令牌,令牌的数量是不变的。为避免出现这种情况,解决方案是在更改使用的令牌数量之前检查“login/OUT”对。

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

[2017 年 9 月 18 日更新]

该解决方案完全依赖于编辑器和您的许可模型。在我的情况下,您的脚本会产生一些不好的结果。

在我的示例中,我使用 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  

在我的例子中,对于增量 MATLAB,NNU 令牌影响到“my_login”,两个操作“OUT”(15:10:58 和 15:12:16)都记录在日志文件中,但只有一个令牌从增量 MATLAB 的可用令牌数。

如果第一个 'OUT' 之前的令牌数是 6,那么在第二个 'OUT' 之后,数字将是 5 而不是 4,因为我使用相同的主机 'hal9000'。在第一个“OUT”之后,与“my_login@hal9000”关联的所有“OUT”都会被记录下来,但不会更改“my_login”在主机“hal9000”上使用的令牌数。

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

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

于 2017-09-14T13:29:22.160 回答