Memory Utilization in Resilient Protectors

Memory consumption by resilient protectors during policy enforcement.

The 10.0.x Protectors support a Resilient Deployment architecture, which uses dynamic memory allocation to store the resilient packages downloaded from the ESA or the upstream server. In comparison, the protectors prior to version 10.0.x support a PEP Server based architecture, which uses fixed memory allocation to store the policies downloaded from the ESA. As a result, the Resilient Deployment architecture offers a memory efficient solution as compared to the PEP Server architecture.

The new Resilient Deployment architecture offers the following advantages over the PEP Server architecture:

  • Scalability:
    • Easy to scale the protectors by increasing the hardware.
    • No limits on the policy size.
  • Lower costs: Less network and memory requirements thereby reducing the hardware costs.
  • Secure: Enables configuration to only store policy in process memory.
  • Improved performance: Takes less time in distributing the resilient packages.

Memory Consumption during Policy Enforcement

The following example shows how much memory is consumed by an 10.0.x Protector when a policy is successfully loaded in heap memory. An application log is generated specifying the memory used.

{"additional_info":{"description":"Policy successfully loaded","memoryUsed":"13"}}

In this example, the memory used is 13 MB. This application log is then sent to Insight, where you can view the memory utilization for all the protectors.

For more information about Protegrity Dashboards, refer to the section Viewing the dashboards.

For more information about application logs, refer to the section Application Logs.

The following table shows how the number of data elements in combination with number of users affect the memory consumption.

Policy SizeSample Number of UsersSample Number of Data ElementsResilient DeploymentPEP Server Deployment
Small100

5 data elements.

For example:

  • TE_N_SLT16_L0R0_Y_ASTYES
  • TE_AN_SLT13_L0R0_N
  • TE_Datetime_SLT8_CLEAR_M
  • TE_Email_SLT13_N
  • TE_Unicode_Gen2_SLT13_AN
  • Package size: 4 MB
  • Heap size: 13 MB
  • File size: 7 MB
  • Heap size: 57 MB
  • Shared memory size: 424 MB
Medium1000

15 data elements.

For example:

  • TE_N_SLT16_L0R0_Y_ASTYES
  • TE_AN_SLT13_L0R0_N
  • TE_AN_SLT23_L0R0_N
  • TE_CC_SLT13_L0R0
  • TE_Datetime_SLT8_CLEAR_M
  • TE_INT_4
  • TE_UA_SLT13_L0R0_Y_ASTYES
  • TE_UAN_SLT13_L0R0_Y_ASTNE
  • TE_Decimal_SLT6D_MIN1_MAX20
  • TE_LASCII_SLT13_L0R0_N
  • TE_Binary_SLT13_L0R0
  • TE_A_SLT13_L0R0_Y_ASTYES
  • TE_Email_SLT13_N
  • TE_Unicode_Gen2_SLT13_AN
  • TE_Unicode_Gen2_SX1_AlpaNumCJK
  • Package size: 11 MB
  • Heap size: 38 MB
  • File size: 18 MB
  • Heap size: 135 MB
  • Shared memory size: 424 MB
Large70,000

30 data elements.

For example:

  • TE_N_SLT16_L0R0_Y_ASTYES
  • TE_N_SLT16_L0R0_Y_ASTYES
  • TE_AN_SLT13_L0R0_N
  • TE_AN_SLT23_L0R0_N
  • TE_CC_SLT13_L0R0
  • TE_Datetime_SLT8_DD
  • TE_Datetime_SLT8_CLEAR_M
  • TE_INT_4
  • TE_UA_SLT13_L0R0_Y_ASTYES
  • TE_UAN_SLT13_L0R0_Y_ASTNE
  • TE_Decimal_SLT6D_MIN1_MAX20
  • TE_LASCII_SLT13_L0R0_N
  • TE_Binary_SLT13_L0R0
  • TE_A_SLT13_L0R0_Y_ASTYES
  • TE_Email_SLT13_N
  • TE_Email_SLT13_N_2
  • TE_Unicode_Gen2_SLT13_AN
  • TE_Unicode_Gen2_SLT13_AN_2
  • TE_Unicode_Gen2_SX1_AlpaNumCJK
  • TE_Unicode_Gen2_SX1_AlpaNumCJK_2
  • TE_A_N_S23_L0R0_PP_PC_Y
  • Monitoring
  • NoEnc
  • FPE_FF1_N_ID_L0R0_ASTNE_M2
  • FPE_FF1_LA_ID_L0R0_ASTNE_M2
  • FPE_FF1_LAN_ID_L0R0_ASTNE_M2
  • FPE_FF1_AN_APIP_L0R0_ASTNE_M2
  • ENC_AES128
  • ENC_AES256_CRC_KID
  • ENC_HSHA256
  • Package size: 23 MB
  • Heap size: 545 MB
  • File size: 26 MB
  • Heap size: 245 MB
  • Shared memory size: 424 MB

The average length of user names is 16 characters.

For more information about capacity planning, contact Protegrity Support.


Last modified : January 19, 2026