日志缓冲区配置

日志缓冲区深度是某个特定日志可以存储在测量仪的短期内存 (RAM) 中的记录的最大数量。

在测量仪的短期内存的日志缓冲区中捕获记录后,它们都会被复制到长期内存中。由于短期(易失性)内存和长期(非易失性)内存的固有差异,与复制到长期内存中相比,可以将记录更快地添加到短期内存中。

默认日志记录框架中日志的日志缓冲区深度已预配置为适用于大多数应用的值。但是如果需要可以配置日志缓冲区深度(例如,为了确保高速记录场合中关键数据的连续性,或者为了特定的记录配置优化测量仪的内存使用)。

如果您以高速度记录数据,一定要审查您的记录需求,并针对特定情况,找到数据保留和内存优化之间的适当平衡,这点很重要。

注: 当您尝试创建一个新的日志或更改现有日志配置时,如果获得没有足够内存的消息,则您可能需要减少其他日志的日志缓冲区深度,以便为新日志提供可用内存。

完全缓冲的日志

完全缓冲的日志(例如,数据记录器或波形记录器模块)是指缓冲区深度设置寄存器的值与深度设置寄存器的值相同的日志。这意味着缓冲区(短期内存)被设置为使用分配给该日志的全部可用长期内存。这阳可确保所有记录被复制到长期内存前,缓冲不会耗光内存,与记录速度(即,捕获记录的速度)无关。

如果您要记录关键数据(例如,计费日志),或以频繁的时间间隔(例如,间隔少于 60 秒)记录数据,则您可能希望使用此配置。然而,请务必注意,此配置使用的短期内存或 RAM 最多(测量仪的日志缓冲区深度可用的最大 RAM 为 10 MB)。

部分缓冲的日志

部分缓冲的日志(例如,数据记录器或波形记录器模块)指缓冲区深度设置寄存器的值小于深度设置寄存器的值的日志。这意味着缓冲(短期内存)被设置为仅使用分配给该日志的部分可用长期内存。此配置可允许日志的大小(即,记录数)更大。然而,这并不能保证所有记录被复制到长期内存前,缓冲不会耗光内存(例如,在高速记录的情况下)。

您可能希望对间隔大于 60 秒或不重要的数据使用此日志配置。因为记录被部分复制,所以与配置相同的日志相比,此配置使用的测量仪短期内存或 RAM 更少。这样将允许您为其他具有跟高记录频率或更重要数据的日志留出更多 RAM。

然而,根据您的配置,可能存在日志缓冲区填满速度比将记录复制到长期内存的速度快的情况。在这种情况下,您可能会丢失记录,并在数据中出现间隙。

注: 如果数据记录器配置为部分缓冲,则无法使用 Insert Outage Records 功能。为了使用此功能,必须将数据记录器配置为完全缓冲。有关配置数据记录器模块的更多信息,请参阅 www.se.com 上提供的 ION Reference

示例:从短期内存复制到长期内存的完全缓冲的日志记录

在以下示例中,日志缓冲区等于日志深度,所有记录都已复制到短期内存和长期内存中。

A 日志缓冲区
B 长期内存
C 日志缓冲区中的可用空间总量(例如,20 条记录)

 

示例:从短期内存复制到长期内存的部分缓冲的日志记录

在以下示例中,缓冲区深度等于 20。第一个记录已复制到长期内存中,在日志缓冲区中为新记录(包括最新的记录,以灰色显示)留出空间。

A 日志缓冲区
B 长期内存
C 日志缓冲区中的可用空间总量(例如,20 条记录)

 

示例:部分缓冲的日志填满时产生的数据间隙

在左边的图形中,日志缓冲区 (A) 已满,而最早的记录尚未被复制到长期内存中。这意味着新记录 (C) 未记入日志,并将永久地丢失。在右边的图形中,最早的记录 (D) 被复制到长期内存中,为缓冲区留出了空间。在下一个时间间隔 (E) 中新的记录已记入日志,但丢失的记录 (C) 将留下数据间隙。

A 日志缓冲区
B 长期内存
C 因为日志缓冲区已满不能记入日志的记录(此记录将丢失)
D 从短期内存移动到长期内存的记录
E 下一个时间间隔的新记录