了解 SLM 标记日志记录
您可以在编译器中启用 IBM® Software License Metric (SLM) 标记日志记录,以便 IBM License Metric Tool (ILMT) 可以跟踪编译器许可证使用情况。
记录的编译器许可证的类型
编译器将记录以下类型的编译器许可证的使用情况:
- 授权用户许可证: 每个编译器许可证都与特定用户标识绑定,由该用户的 uid 指定。
- 并发用户许可证: 特定数量的并发用户有权在任何给定时间使用编译器许可证。
编译器将每个编译器调用记录为并发用户或授权用户调用,具体取决于在列出授权用户的文件中是否存在调用用户的 uid。
注: IBM Open XL Fortran for AIX® 17.1.1 还支持每月许可证。 每月许可证可由 ILMT 直接跟踪。
SLM 守护进程
SLM 标记文件由 SLM 守护程序创建。 SLM 守护程序是编译器中的常规可执行文件。 它为每个用户定义的时间段输出一个标记文件。 如果没有用户在用户定义的时间段内调用编译器,那么守护程序将终止,并通过对编译器的新调用重新启动。 您可以在配置文件中指定两个时间段。SLM 标记文件
编译器将编译器许可证使用情况记录到 SLM 标记文件 slm_dir/hash.slmtags, 其中 slm_dir 是配置文件中定义的可配置目录。 hash 是当前产品的 SWID 和根目录的 MD5 散列。 slm_dir 的缺省值为 /var/opt/ibm/xl-compiler/ (对于缺省安装) 或 $prefix/var/opt/ibm/xl-compiler (对于非缺省安装) ,其中 $prefix 是非缺省安装路径。 调用编译器的所有用户都必须可读取和可写 slm_dir 目录。
标记文件的主要元素如下所示:
- <StartTime> 和 <EndTime>
- 调用的开始时间和结束时间。
- <Value>
- 在 <StartTime> 和 <EndTime> 元素表示的时间段内同时调用编译器的最大用户数。
- <Type>
- 已记录的编译器许可证的类型。
- <Metric>
- 所有上述元素都包含在 <Metric> 元素中。 SLM 守护程序在每个时间段最多输出两个 <Metric> 元素,一个用于授权用户,另一个用于并发用户。
以下示例是编译器生成的标记文件。 它记录三个并发用户调用,后跟一个授权用户调用。
<SchemaVersion>2.1.1</SchemaVersion>
<SoftwareIdentity>
<PersistentId>3f14162bbf0240de94ca3b8613eff167</PersistentId>
<Name>IBM Open XL Fortran for AIX</Name>
<InstanceId>/opt/ibm/xlf/17.1.1</InstanceId>
</SoftwareIdentity>
<Metric logTime="2022-10-01T18:39:51Z">
<Type>AUTHORIZED_USER</Type>
<Value>1</Value>
<Period>
<StartTime>2022-10-01T18:34:51Z</StartTime>
<EndTime>2022-10-01T18:39:51Z</EndTime>
</Period>
</Metric>
<Metric logTime="2022-10-01T18:39:51Z">
<Type>CONCURRENT_USER</Type>
<Value>3</Value>
<Period>
<StartTime>2022-10-01T18:14:51Z</StartTime>
<EndTime>2022-10-01T18:19:51Z</EndTime>
</Period>
</Metric>
标记文件具有可配置的大小限制,缺省值为 5,000,000 字节。 如果当前文件的大小超过最大大小,那么将除去该文件中的旧 <Metric> 元素。 您可以通过 配置文件的 -slm-limit 属性来指定大小限制。
错误记录
如果守护进程分支之前发生错误,则返回代码为 -1。 否则,将不会报告任何故障。 在任一情况下,都会将错误记录到 slm_dir/.hash/log。