スクリプトの実行イベント ポリシーとメモリ割り当ての制限について
同時に実行されるイベント ポリシーの最大数と、特定のタイプのスクリプトのデータ セグメントに割り当てられるメモリの最大量に制限を設定できます。ネットワーク内のデバイスとその機能に応じて、同時に実行できるイベント ポリシーの数とスクリプトに割り当てられるメモリの最大数に関して、大小の制限を設定する必要がある場合があります。重要なデバイスに小さな制限を設定して、優先プロセスに悪影響を与えないことを確認し、デバイスがネットワークで必要なすべての機能を実行できるようにすることができます。
さらに、通常のデバイス操作中に、異なるスクリプト タイプにメモリ量の不釣り合いを割り当てたいと思う場合があります。デバイスの操作で重要な役割を果たす特定の種類のスクリプトが含まれる場合、適切に実行するには特定のメモリ量が必要です。たとえば、1 つ以上のコミット スクリプトによって検査される設定をコミットする場合、大規模な構成の処理に対応するために、コミット スクリプトに割り当てられるメモリの量を増やす必要がある場合があります。
システムで同時に実行できるイベント ポリシーのデフォルト数は 15 です。システムが最大イベント・ポリシー数を実行している場合、別のポリシーが終了するまでトリガーされたイベント・ポリシーは無視されます。システムは、実行されなかったトリガーされたイベント ポリシーのEVENTD_POLICY_LIMIT_EXCEEDED メッセージをログに記録します。
制限を設定しない場合、実行されたスクリプトのデータ セグメント部分にデバイスが割り当てるメモリのデフォルト量は、オペレーティング システムとリリースによって異なります。 表 1 は、デフォルトのメモリ割り当ての概要を示しています。スクリプトの実行中に、設定した最大制限よりも多くのメモリが必要な場合、スクリプトは終了します。
OS | リリース | デフォルト |
---|---|---|
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
特定のタイプのスクリプトに対してデータ セグメントに割り当てられる最大メモリを設定するには、そのスクリプトタイプに適した 階層の下に、メモリ(size
バイト単位)のステートメントを設定max-datasize size
します。メモリーをキロバイト、メガバイト、またはギガバイトで指定するには、サイズに、それぞれ 、 m
、 または g
を追加k
します。許可される値は、オペレーティング システム、リリース、スクリプトの種類によって異なります。詳細については、 max-datasize を参照してください。
[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
設定し、スクリプトを実行すると、実行時にシステムで利用可能なメモリの合計に関係なく、デバイスはそのスクリプトの最大メモリ制限を設定した値に設定します。実行中にスクリプトがメモリの上限を超えると、正常に終了します。