跳转至

关键状态内存管理器

临界状态内存管理器的用途

应用服务器使用的内存量取决于 CCH Tagetik 的使用情况,并因用户会话数、运行的数据流程的数量和类型、应用程序设置以及数据库大小而有很大差异。如果可用内存耗尽,应用程序可能处于不一致状态或不再响应用户请求。

临界状态内存管理器用于避免接近可用内存将被耗尽的阈值。

根据已设置的配置,如果应用服务器使用的内存超过进入临界状态的阈值,它可以阻止启动新的数据处理,并可能终止正在运行的、被定义为“可中断”的流程。

要在内存处于临界状态时管理内存,必须定义以下元素:

  • 处于临界状态时所需执行的操作
  • 进入临界状态前的 JVM 堆负载阈值(%)
  • 退出临界状态的 JVM 堆负载阈值(%)

临界状态下默认采取的操作是阻止启动新的数据处理,从而避免进一步加重已处于压力下的系统负担。

如果应用服务器因内存不足而终止,请确定问题的根源并检查应用服务器的内存大小是否正确。在这种情况下,启用临界状态内存管理器并阻止处于临界情况的数据处理。

确定临界状态

每当系统需要增加正在使用的内存量时,管理器会检查是否处于临界情况。

如果系统处于临界情况且内存使用趋势与上一次测量相比呈增长态势,则临界状态内存管理器请求终止最近启动的、被定义为“不可中断”且可能占用内存最多的数据处理。

当系统处于临界情况且内存使用趋势呈下降态势,但没有待处理的终止数据处理请求时,也会发生同样的情况。

阻止启动新的数据处理

当应用程序在内存使用方面处于临界状态时,临界状态管理器可能拒绝启动新的数据处理(如果在设置中启用了此行为)。这适用于用户在用户界面上发出的请求和计划的数据处理。

如果数据处理是从 Web 界面手动启动的,可能会发生以下行为:

如果用户选择... 则系统...
取消数据处理 不执行任何操作。
重新启动数据处理 尝试再次启动数据处理。- 如果可用内存仍然不足,则立即阻止数据处理并显示错误消息。
预约数据处理 数据处理被添加到队列中。 在单服务器环境中,一旦退出临界状态,数据处理就会启动。在多服务器环境中,数据处理可以在负载较低的服务器上执行。

终止数据处理

当临界状态内存管理器终止数据处理时,其目的是确保其他正在进行的数据处理能够成功完成。由临界状态内存管理器完成的数据处理以消息“The data processing was stopped by the system”结束。

对于从 Web 界面手动启动的数据处理,用户会获得临界状态内存管理器中所述的选项。

审计

如果在处于临界状态时所需执行的操作配置中至少设置了启用跟踪,则审计会在系统每次进入或退出临界状态时在资源监视器操作中记录。

资源监视器操作记录的两种事件类型为:

  • Critical memory usage detected - 表示系统已进入临界状态
  • Healthy memory come back - 表示系统已退出临界状态

审计操作的详细信息中记录了四项信息:

  • 垃圾回收器计数器 - 用于在日志中恢复同一事件的有用信息
  • 已使用内存的百分比
  • 内存趋势,可能为 INCREASING 或 DECREASING
  • 内存状态,可能为 RED(处于临界状态)或 GREEN(未处于临界状态)

审计还会在对进行中的数据处理的操作类别中记录内存管理器请求停止的每个进行中的数据流程的单个终止请求。

内存管理器进行的所有审计登记均以系统用户 TagetikSystemAdministrator 的名义进行。