Bug ID 499473: PCCD might restart because there is not enough memory.

Last Modified: Sep 13, 2023

Affected Product(s):
BIG-IP AFM(all modules)

Known Affected Versions:
11.5.0, 11.5.1, 11.5.2, 11.5.3, 11.5.4, 11.5.5, 11.5.6, 11.5.7, 11.5.8, 11.5.9, 11.5.10, 11.6.0, 11.6.1, 11.6.2, 11.6.3, 11.6.3.1, 11.6.3.2, 11.6.3.3, 11.6.3.4, 11.6.4, 11.6.5, 11.6.5.1, 11.6.5.2, 11.6.5.3, 12.0.0, 12.0.0 HF1, 12.1.0 HF1, 12.0.0 HF2, 12.1.0 HF2, 12.0.0 HF3, 12.0.0 HF4, 12.1.1 HF1, 12.1.1 HF2, 12.1.2 HF1, 12.1.2 HF2, 12.1.0, 12.1.1, 12.1.2, 12.1.3, 12.1.3.1, 12.1.3.2, 12.1.3.3, 12.1.3.4, 12.1.3.5, 12.1.3.6, 12.1.3.7, 12.1.4, 12.1.4.1, 12.1.5, 12.1.5.1, 12.1.5.2, 12.1.5.3, 12.1.6

Opened: Jan 05, 2015

Severity: 3-Major

Related Article: K89025423

Symptoms

PCCD might restart because there is not enough memory.

Impact

Depending on conditions, when there is not enough memory, PCCD might restart. This is because the blob compilation needs more memory based on the number of rules.

Conditions

A large firewall rule set, resulting in a correspondingly large blob.

Workaround

Provision more memory and then restart the BIG-IP system daemons. To do so, following these steps: 1. Modify the following section in /usr/bin/mprov.pl: Nominal/Baseline Configuration: my %afmModule = ( "Name" => "afm", "flags" => 0, "mem" => { # in MiB RATIO in MiB # NOTE: memory MiB numbers must be in multiples of 2 (the system pagesize) "self" => { "MIN"=> 128, "NOM"=> 20, "MAX"=> 1024 }, "host" => { "MIN"=> 500, "NOM"=> 13, "MAX"=> 3372 }, "tmos" => { "MIN"=> 0, "NOM"=> 60, "MAX"=> 0 }, "ui" => { "MIN"=> 0, "NOM"=> 0, "MAX"=> 0 }, }, Modified Configuration (for 8GB allocation for the Rule Compiler): my %afmModule = ( "Name" => "afm", "flags" => 0, "mem" => { # in MiB RATIO in MiB # NOTE: memory MiB numbers must be in multiples of 2 (the system pagesize) "self" => { "MIN"=> 128, "NOM"=> 20, "MAX"=> 1024 }, "host" => { "MIN"=> 4500, "NOM"=> 30, "MAX"=> 9000 }, "tmos" => { "MIN"=> 2000, "NOM"=> 0, "MAX"=> 0 }, "ui" => { "MIN"=> 0, "NOM"=> 0, "MAX"=> 0 }, }, 2. To restart the BIG-IP system daemons: From the command prompt, run the following command: bigstart restart. 3. To verify the Memory Provisioning: From the tmsh CLI, ensure the provisioned memory is 9000 MiB, using the command: list sys db provision.memory.afm.host. 4. Increase pccd.maxblobsize to 9000 MB.

Fix Information

None

Behavior Change

Guides & references

K10134038: F5 Bug Tracker Filter Names and Tips