News

Taming System Pressure: How Duplicati Controls CPU and Memory During Background Backups

Background backups should offer total peace of mind, not system lag and jet-engine fan noise. Discover how Duplicati dynamically manages CPU priorities, memory allocations, and power rules to keep your machine fast while protecting your data.

We’ve all experienced it: you’re midway through a video conference, rendering a project, or in the middle of a gaming session, and suddenly your system stutters. Your CPU fan spins up to jet-engine levels, your mouse cursor lags, and Task Manager reveals the culprit: a background process crunching data at maximum throttle.

Backup software has a demanding job. To protect your files efficiently, an end-to-end backup engine like Duplicati must perform heavy cryptographic and computational tasks: scan file trees, split data into blocks, compute SHA-256 hashes, deduplicate chunks, compress archives, and encrypt everything with AES-256 before transmitting it over the network.

If left unchecked, those operations will happily consume every available CPU cycle and megabyte of RAM on older hardware or busy servers.

Great backup software should be like a world-class butler: thorough, dependable, and completely unobtrusive. Here is how Duplicati manages system resources to keep your machine responsive, along with practical ways to tune its engine for your hardware.

1. Controlling system Pressure with --cpu-intensity

While legacy backup tools relied on operating-system-level thread priorities, Duplicati addresses CPU strain directly within its execution engine.

Note: Even though the setting is called --cpu-intensity and technically limits the CPU pressure, limiting the flow for the CPU also reduces memory pressure and disk usage as a side-effect.


How --cpu-intensity Works

Instead of simply asking the operating system to deprioritize a thread, --cpu-intensity dictates how aggressively Duplicati pushes your processor cores during active compression and hashing pipelines.

  • High Intensity - 10 - (Default): Duplicati processes data at full speed. Ideal for dedicated backup windows, high-performance servers, or when you want backups to finish as fast as possible.


  • Medium Intensity - 5: Duplicati intentionally introduces micro-yields and throttles processing loops. This leaves plenty of headroom for latency-sensitive applications like video calls, compilation jobs, or gaming.


  • Lower Intensity - 1: Duplicati tries to be a Ninja and not be noticeable at all to other applications.


# Example: Reducing CPU overhead for background execution
--cpu-intensity=5
# Example: Reducing CPU overhead for background execution
--cpu-intensity=5
# Example: Reducing CPU overhead for background execution
--cpu-intensity=5

Pro Tip: If you run Duplicati on a daily workstation or a lower-power NAS device, setting --cpu-intensityto a lower value ensures your processor cores remain cool and responsive, eliminating micro-stutters while your files back up seamlessly in the background.


2. Memory Tuning: Demystifying --blocksize and --dblock-size

RAM spikes during large backup operations usually stem from how data is chunked, indexed, and buffered. Duplicati uses a block-based deduplication model. Understanding how two key settings interact helps you optimize memory consumption for your specific dataset size.

       [ Source Files ]
              
              
    [ Split into Blocks ]  ◄── `--blocksize` (Deduplication Chunk)
              
              
  [ Deduplicated & Compressed & Encrypted ]
              
              
   [ Uploaded Volume File ] ◄── `--dblock-size` (Remote Transfer Package)
       [ Source Files ]
              
              
    [ Split into Blocks ]  ◄── `--blocksize` (Deduplication Chunk)
              
              
  [ Deduplicated & Compressed & Encrypted ]
              
              
   [ Uploaded Volume File ] ◄── `--dblock-size` (Remote Transfer Package)
       [ Source Files ]
              
              
    [ Split into Blocks ]  ◄── `--blocksize` (Deduplication Chunk)
              
              
  [ Deduplicated & Compressed & Encrypted ]
              
              
   [ Uploaded Volume File ] ◄── `--dblock-size` (Remote Transfer Package)

Block Size (--blocksize)

The --blocksize parameter defines the chunk size into which your files are sliced for deduplication (default is 1 MB).


  • Default Block Size (1 MB): Provides a great balance between deduplication efficiency and database indexing overhead for most modern system drives.


  • Small Block Sizes (e.g., 100 KB): Less overhead when large files are partially changed, as the change can be contained in 100 KB chunks. But backing up multi-terabyte drives with very small blocks creates tens of millions of entries in Duplicati’s local SQLite index database. Querying and maintaining millions of block hashes requires significantly more RAM and slows the system down.


  • Large Block Sizes (e.g., 5 MB – 10 MB): Dramatically reduce the total number of blocks in the database for datasets with large files. This shrinks the local database size and significantly lowers RAM consumption during backup and restore indexing. Optimal usage is with large files that are not regularly modified, such as high-res images, video streams or archives.


Remote Volume Size (--dblock-size)

The --dblock-size (or Upload Volume Size) controls the target size of the compressed, encrypted zip archives Duplicati creates locally before uploading them to your cloud destination (default is 50 MB).


During backups, Duplicati builds these volumes in memory buffers and temporary storage. Setting an excessively large --dblock-size (e.g., 1 GB) on a machine with limited RAM can lead to heavy memory consumption during the compression and encryption pipeline.


Recommended Configuration Guide

Dataset Size

Recommended --blocksize

Recommended --dblock-size

RAM Impact

Small (< 100 GB)

1 MB (Default)

50 MB (Default)

Very Low (< 100 MB)

Medium (100 GB – 1 TB)

1 MB – 2 MB

100 MB – 250 MB

Low (~150–250 MB)

Large (1 TB – 5 TB+)

5 MB – 10 MB

250 MB – 500 MB

Lean & Optimized

Note: Changing --blocksize applies to new backups. For existing backup sets, block size is fixed upon creation to maintain hash index integrity.

Note: If your dataset is large but contains mostly files of a few MB each, increasing the --blocksize does not increase throughput.


3. Context Awareness: Smart Triggers & Power Rules

Background backups should adapt to whether your computer is plugged into a wall outlet or running on battery during a commute.

Laptop Battery Saver (--disable-on-battery)

Running heavy encryption and network uploads while on battery power drains battery life fast. By enabling --disable-on-battery=true, Duplicati automatically checks your system’s power status before running a scheduled backup.

If you are on AC power, the schedule proceeds as normal. If you are unplugged, Duplicati quietly postpones the scheduled run until you plug back in—preventing sudden battery drain.


Pre-Backup Scripting for System Load

For server admins or power users who want fine-grained control, Duplicati supports execution scripts via --run-script-before and --run-script-after.


You can configure a simple script that checks system parameters, such as whether a resource-intensive app is running or whether CPU load exceeds 80%, and tells Duplicati to pause or skip the run until conditions normalize.


Summary: Balanced Protection Without the Lag

Resource management in Duplicati isn't about cutting corners on security or data integrity; it's about providing the controls to fit your hardware profile.

Whether you are backing up a low-power Home Assistant server, a high-end gaming PC, or an ultra-portable laptop on the go, tuning CPU intensityblock sizes, and power rules ensures your data stays protected, without slowing down your workflow.

If you have already downloaded the free open-source Duplicati client, you adjust the performance in the settings, either for the whole machine or for individual jobs.

Get started for free

Pick your own backend and store encrypted backups of your files anywhere online or offline. For MacOS, Windows and Linux.

Pick your own backend and store encrypted backups of your files anywhere online or offline. For MacOS, Windows and Linux.

  • Example image