如何查找随时间变化的 Flexlm 许可功能使用情况?
How to find Flexlm liscense Feature usage over time?
我开发了一个脚本,可以从 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 下显示计数。
我打算绘制功能(例如 PROE_Flex3C )随时间(时间戳)的使用图。当我使用描述的方法时,我发现峰值使用量超出了可用的总许可功能。为了。 .e.g 如果 PROE_Flex3C 可用的许可证总数为 34,则图表显示的最大许可证利用率为 40.
FLEXnet 许可(v10.8.6.2 内部版本 59284 x64_n6)。如何使峰值许可使用计数准确?可能缺少什么?
问题是通过这种方法计算的峰值使用量超过了可用许可证总数。看起来服务器正在泄漏许可证?
熟人的解答。
'OUT/IN' 对的数量可能与 increment/feature 的令牌数量无关。
对于 Matlab,如果用户拥有网络命名用户 (NNU) 令牌,则他可以从同一台计算机启动多个 Matlab 实例。每个实例都会在日志文件中放置一个 'OUT',但是对于带有 Matlab 的 NNU 令牌,令牌数量不变。为避免您的情况,解决方案是在更改使用的令牌数量之前检查 'login/OUT' 对。
'OUT/IN' 和使用的令牌数量取决于软件的编辑器和使用的许可证类型。
[2017 年 9 月 18 日更新]
该解决方案完全依赖于编辑器和您的许可模型。在我的情况下,您的脚本会给出一些不好的结果。
在我的示例中,我使用 Matlab。
步骤:
- 来自主持人 'hal9000',我启动了第一个 Matlab 会话;
- 来自主持人 'hal9000',我启动了第二个会话。
我的许可证文件包含多个许可证,有CN和NNU许可证,这是'DENIED'的原因。日志文件中的痕迹如下:
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)都记录在logfile 但只有一个标记从增量 MATLAB 的可用标记数中删除。
如果第一个 'OUT' 之前的令牌数量是 6,那么第二个 'OUT' 之后的数量将是 5 而不是 4,因为我使用相同的主机 'hal9000'。在第一个 'OUT' 之后,所有与 'my_login@hal9000' 关联的 'OUT' 都被记录下来,但不更改 'my_login' 在主机 'hal9000' 上使用的令牌数。
Comsol 也有同样的情况,'my_login@hal9000' 生成的所有 'OUT' 都写入了日志文件,但所有 'OUT' 的可用令牌数量仅减少 1 个令牌] 操作。
在您的脚本中,可能需要检查关联 'login@host' 以了解您是否必须根据您的许可证模型更改所用令牌的数量。
我开发了一个脚本,可以从 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 下显示计数。
我打算绘制功能(例如 PROE_Flex3C )随时间(时间戳)的使用图。当我使用描述的方法时,我发现峰值使用量超出了可用的总许可功能。为了。 .e.g 如果 PROE_Flex3C 可用的许可证总数为 34,则图表显示的最大许可证利用率为 40.
FLEXnet 许可(v10.8.6.2 内部版本 59284 x64_n6)。如何使峰值许可使用计数准确?可能缺少什么?
问题是通过这种方法计算的峰值使用量超过了可用许可证总数。看起来服务器正在泄漏许可证?
熟人的解答。
'OUT/IN' 对的数量可能与 increment/feature 的令牌数量无关。
对于 Matlab,如果用户拥有网络命名用户 (NNU) 令牌,则他可以从同一台计算机启动多个 Matlab 实例。每个实例都会在日志文件中放置一个 'OUT',但是对于带有 Matlab 的 NNU 令牌,令牌数量不变。为避免您的情况,解决方案是在更改使用的令牌数量之前检查 'login/OUT' 对。
'OUT/IN' 和使用的令牌数量取决于软件的编辑器和使用的许可证类型。
[2017 年 9 月 18 日更新]
该解决方案完全依赖于编辑器和您的许可模型。在我的情况下,您的脚本会给出一些不好的结果。
在我的示例中,我使用 Matlab。
步骤:
- 来自主持人 'hal9000',我启动了第一个 Matlab 会话;
- 来自主持人 'hal9000',我启动了第二个会话。
我的许可证文件包含多个许可证,有CN和NNU许可证,这是'DENIED'的原因。日志文件中的痕迹如下:
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)都记录在logfile 但只有一个标记从增量 MATLAB 的可用标记数中删除。
如果第一个 'OUT' 之前的令牌数量是 6,那么第二个 'OUT' 之后的数量将是 5 而不是 4,因为我使用相同的主机 'hal9000'。在第一个 'OUT' 之后,所有与 'my_login@hal9000' 关联的 'OUT' 都被记录下来,但不更改 'my_login' 在主机 'hal9000' 上使用的令牌数。
Comsol 也有同样的情况,'my_login@hal9000' 生成的所有 'OUT' 都写入了日志文件,但所有 'OUT' 的可用令牌数量仅减少 1 个令牌] 操作。
在您的脚本中,可能需要检查关联 'login@host' 以了解您是否必须根据您的许可证模型更改所用令牌的数量。