Often users complain about high CPU usage when using Syncrify. This behavior is healthy as long as the CPU eventually comes down. It is a problem if you see the CPU pinned at 100% for a more extended period.
Syncrify uses the Rsync algorithm during backup, which minimizes network traffic at the cost of local disk I/O and CPU usage. It is normal to see high CPU utilization during the block matching process. However, once the block matching is over the CPU utilization should come down.
High CPU utilization can occur on both client and server. Syncrify is designed to match blocks on the client machine, not the server. This leaves the server CPU free under normal circumstances. However, block matching occurs twice when versioning is enabled - once on the client and then again on the server, causing a high CPU usage on the server-side.
It is important to note that most modern operating systems will run just fine even when the CPU is pinned at 100% utilization. This is because the OS will ensure that every process on the OS gets an equal chance to run. Therefore, even if one process requires more CPU power, other processes won't starve.
A more important metrics to watch is processor queue
, which indicates if other processes are suffering due to high CPU usage. If your processor queue is zero or close to zero and CPU is pinned around 100%, that means your machine efficiency is very close to 100%.
High CPU Usage Without Active Jobs
Occasionally, you could see high CPU usage even when no backup jobs are running. This could happen for the following reasons:
- Delete Retention - Once backups are over, Syncrify tries to clean up files that are supposed to be selected. This can use CPU cycles on a large dataset.
- Disaster Recovery - If enabled, Syncrify will backup files from primary to slave machines and that uses CPU.