Ganesh Jadhav
02/20/2026, 10:37 AMOr Weis
02/20/2026, 10:54 AMAsk Inkeep
02/20/2026, 10:55 AMAsk Inkeep
02/20/2026, 10:55 AM# of policy objects × 6kb (where policy objects include users, resource instances, and tenants) is a rough estimate.
*Regarding Startup/Sync Behavior:*
The documentation confirms that when the PDP starts, it fetches configuration from the control plane and syncs policies. Looking at your logs, you can see this sequence:
• Fetching PDP config from control plane
• Receiving remote config and applying overrides
• Launching the engine runner and policy/data updaters
• Connecting to the OPAL server and fetching policy bundles
*Your Observation About Backend Deployments:*
Your observation that OOM kills occur shortly after backend deployments is valuable. The PDP does perform initial data loading and policy synchronization during startup, which could cause temporary memory spikes.
*Offline Mode Consideration:*
If you want extra resilience, the PDP can be configured with offline mode using PDP_ENABLE_OFFLINE_MODE, which uses local backup files. This requires mounting a volume to /app/backup.
*
I don't have explicit documentation detailing the exact memory spike patterns during synchronization or whether full snapshots are temporarily loaded. This is a technical question that would benefit from input from the Permit.io engineering team.
To help our engineers investigate further, could you please confirm:
1. Which Workspace / Project / Env: You mentioned owners-table/production/production - is this correct?
2. What SDK calls are you performing (code snippets would help) ?
3. Which PDP version are you running? (You can check with docker inspect permitio/pdp-v2:latest or check the image digest)
4. Can you share the full PDP logs from just before the OOM kill occurs?Ask Inkeep
02/20/2026, 10:55 AMOr Weis
02/20/2026, 11:40 AM