How much memory and CPU does BackupWall use?
The engine is bounded-memory: every process is designed to stay within about 200 MB of RAM whatever the size of the data. In tests each service peaked at roughly 85 to 145 MB. The backup service leaves about one CPU core free for the panel.
Memory
- Designed limit: every BackupWall process is built to stay within about 100 to 200 MB, whether the account is 1 GB or 1 TB. Files are streamed and chunked, database dumps are hashed and uploaded from disk, and large lists are kept on disk rather than in memory.
- Measured: each service peaked at roughly 85 to 145 MB during backups in PortWall's tests (2 CPU cores, 4 GB of RAM).
- Idle: the worker and download worker keep no task processes until a task arrives. On a 2 vCPU / 4 GB server, all BackupWall processes together used about 409 MB at idle in a test.
- Caps: the backup worker is capped at 26% of RAM (at least 384 MB, at most 4 GB) and the API at 18%. A process that hits its cap is killed and the task is run again, so a spike stays local and never takes the server down. About 1.5 GB of RAM is the practical minimum.
Faster backups on servers with 4 GB of RAM or more
The installer writes MALLOC_ARENA_MAX=2 and MALLOC_TRIM_THRESHOLD_=131072 into /etc/backupwall/backupwall.env. They keep every process small and suit servers of any size. On a server with 4 GB of RAM or more you can trade a little memory for speed: set MALLOC_TRIM_THRESHOLD_=1048576, add MALLOC_MMAP_THRESHOLD_=4194304, then restart the services while no backup, restore or migration is running.
systemctl restart backupwall-api backupwall-worker backupwall-download-worker backupwall-beat backupwall-watcher
In PortWall's test (8 GB RAM, 2 cores, a 12.3 GB backup of 4 accounts at once) the same backup used 12 to 16% less CPU and finished 12 to 15% sooner, and the busiest process used 15 to 30 MB more (about 206 MB at its peak). PortWall does not recommend it below 4 GB. To go back, set MALLOC_TRIM_THRESHOLD_=131072 again, delete the MALLOC_MMAP_THRESHOLD_ line and restart the same services. Upgrades keep this file as it is.
CPU and disk
- The backup service is limited to all cores but one, so about one core stays free for the panel.
- Backups run at lower priority than your websites (CPU weight and disk weight 40 against the default 100), so they yield only under contention and run at full speed when the server is idle.
- Tools a run starts (mysqldump, gzip, tar and others) inherit the lower priority.
Resource tiers
BackupWall detects a tier from the server's CPUs and RAM and uses it to decide how many accounts back up at once and at what CPU and disk priority:
| Tier | Server |
|---|---|
| Micro | 1 vCPU, under 1 GB. Minimal hashing, no compression. |
| Small | 2 vCPU, 1 to 4 GB. Basic compression. |
| Standard | 4 vCPU, 4 to 16 GB. Full pipeline. |
| Large | 8+ vCPU, 16+ GB. Maximum concurrency. |
An administrator can choose a tier under Settings → Server (Automatic is recommended). A small server therefore backs up fewer accounts at a time. Compression on an existing install stays at the level its stored backups were written with.
Limit the impact further
Settings → Performance has presets (Gentle, Balanced, Fast, Custom) that lower priority, pause work while the server is busy and cap bandwidth. See Performance and throttling.