我已经开发了一个脚本,可以从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?
答案 0 :(得分:0)
熟人的解决方案。
对' OUT / IN'可能没有连接到增量/功能的令牌数。
对于Matlab,如果用户具有网络命名用户(NNU)令牌,则可以从同一台计算机启动许多Matlab实例。每个实例都会输出一个' OUT'在日志文件中,但是对于使用Matlab的NNU令牌,令牌的数量不变。为了避免您的情况,解决方案是检查对登录/出口'在更改使用的令牌数之前。
' OUT / IN'使用的令牌数取决于您的软件编辑器和使用的许可证类型。
[更新09/18/2017]
解决方案完全依赖于编辑器和许可证模型。在我的情况下,你的脚本会给出一些糟糕的结果。
在我的例子中,我使用Matlab。
步骤:
我的许可证文件包含多个许可证,有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'了解您是否必须根据您的许可模式更改所使用的令牌数量。