了解脚本执行事件策略和内存分配的限制
您可以对并发运行事件策略的最大数量以及为特定类型的脚本的数据分段分配的最大内存量进行配置。根据设备及其在网络中的功能,可能有必要对可同时执行的事件策略的数量和分配给脚本的最大内存量配置更大或更小的限制。您可以对关键设备配置较小的限制,以确保优先级进程不会受到不利影响,并且设备可以在网络中执行所有必要的功能。
此外,在正常设备操作期间,您可能需要为不同的脚本类型分配不成比例的内存量。设备可能有特定类型的脚本,这些脚本在其操作中发挥着至关重要的作用,需要特定的内存量才能确保正确执行。例如,在提交由一个或多个提交脚本检查的配置时,您可能需要增加分配给提交脚本的内存量,以适应大型配置的处理。
可在系统中同时运行的默认事件策略数为 15。如果系统正在运行最大事件策略数,则系统将忽略任何触发的事件策略,直到另一个策略完成。系统将记录未执行的任何触发事件策略的 EVENTD_POLICY_LIMIT_EXCEEDED 消息。
如果未配置任何限制,设备分配给已执行脚本数据分段部分的默认内存量取决于操作系统和版本。 表 1 概述了默认内存分配。如果脚本在执行过程中需要的内存超过设置的最大限制,则脚本将退出。
操作系统 | 版本 | 默认 |
---|---|---|
Junos OS |
– | 占系统可用内存总数的一半,最高可达 128 MB。 |
Junos OS Evolved |
21.3 及更早版本 |
128 MB |
21.4R1 及更高版本 |
1024 MB |
要设置可在设备上同时运行的最大事件策略数:
- 在
max-policies
[edit event-options]
层次结构级别配置语句,并指定策略数。您最多可以配置 0 到 20 个策略。[edit] user@host# set event-options max-policies number
例如:
[edit] user@host# set event-options max-policies 18
要设置分配给给定类型脚本数据分段的最大内存,请在适合该max-datasize size
脚本类型的层次结构下配置语句,其中size
内存为字节。要指定以千字节、兆字节或千兆字节为单位的内存,请分别对大小附加 k
、m
或 g
。允许的值因操作系统、版本和脚本类型而异。有关更多信息,请参阅 max-dataize。
[edit] event-options { event-script { max-datasize size; } } system { scripts { commit { max-datasize size; } op { max-datasize size; } snmp { max-datasize size; } translation { max-datasize size; } } }
配置 max-datasize
语句和执行脚本时,设备会将该脚本的最大内存限制设置为配置的值,与执行时系统上可用的总内存无关。如果脚本在执行期间超过最大内存限制,则正常退出。