Back to Frigate Guides
Frigate

How to Fix Frigate High CPU Usage After Config Changes

Frigate GuideSecurity Cameras
hard difficulty 20-30 minutes 74 views 0 found helpful Where this fix applies: Global Updated
This guide applies to: Frigate Frigate Performance Regression (Frigate NVR resource optimization)
At a glance — most common causes
  • Detect running on a high-res stream (should be sub-stream)
  • Hardware acceleration not configured for decoding
  • Detect fps/resolution too high
20-30 minutes13 solutions coveredhard level

Expert Review & Technical Scope

DeviceFrigate Frigate Performance Regression
Model CoverageFrigate NVR resource optimization
Fix Time20-30 minutes
DifficultyHard
Required Toolssystem metrics, frigate config
Network / ProtocolWi-Fi / app-based troubleshooting context

Problem Description

After changing your Frigate configuration, CPU usage spiked from 20% to 90%+ and the system is sluggish. The most common cause is accidentally assigning the detect role to the high-resolution main stream instead of the sub stream, or losing hardware-accelerated video decoding after changing FFmpeg settings.

Why This Happens in Real Homes

A CPU spike right after a Frigate config change almost always means the change increased decoding or detection load — most commonly pointing detection at a full-resolution main stream instead of a low-res sub-stream, running detection on the CPU instead of a Coral TPU, or decoding streams without hardware acceleration. Frigate does exactly what the config specifies, so a heavier config means more CPU.

Point the detect role at a low-resolution sub-stream (detection doesn't need full res), enable hardware acceleration (hwaccel) so the GPU or iGPU decodes streams instead of the CPU, and keep detect fps and resolution reasonable. Use a Coral TPU for detection to offload the CPU entirely. Review what your recent change altered — an added camera, a role reassignment, or a removed hwaccel setting — and right-size it to your hardware.

Symptoms

  • High CPU after config changes
  • CPU spiked after editing config
  • System overloaded post-change
  • CPU maxed out
  • High load after adding a camera
  • Fans ramping after config edit
  • CPU usage jumped
  • Server struggling after changes

Recognize these? Here's what usually causes it.

Common Causes

  • Detect running on a high-res stream (should be sub-stream)
  • Hardware acceleration not configured for decoding
  • Detect fps/resolution too high
  • Detection on CPU instead of a TPU
  • Added cameras without added capacity
  • Recording high-res without hwaccel
  • Too many streams decoded on CPU
  • Misassigned camera roles

Most fixes happen in the first 3 steps.

Warning

Avoid changing many performance knobs at once.

Tools & Requirements

system metricsfrigate config

Step-by-Step Solution

1

Check if detection is running on the wrong stream

The most common cause of high CPU after a config change: the detect role accidentally assigned to the main high-resolution stream instead of the sub stream. Detection on a 4K stream uses 5-10x more CPU than detection on 720p. Check frigate.yml: cameras: your_camera: ffmpeg: inputs — verify the detect role is assigned to the low-resolution sub stream URL, not the main stream. Each camera should have two inputs: one for detect (sub stream) and one for record (main stream).

2

Check if hardware acceleration is disabled

If you changed FFmpeg settings and lost hardware acceleration: every camera decode runs on CPU instead of GPU. Frigate supports Intel QSV (Quick Sync Video), VAAPI, and NVIDIA NVDEC for hardware-accelerated decoding. Check frigate.yml for: ffmpeg: hwaccel_args: preset-vaapi (or preset-intel-qsv). If hwaccel_args is missing or set to an empty value: all decoding is software-only. On a system with 6 cameras: this can easily consume all CPU cores.

3

Reduce detect FPS and resolution

After config changes, you may have increased detect FPS too high. Each additional FPS multiplies CPU load linearly. Set detect FPS to the minimum needed for reliable detection — 5 FPS is sufficient for most outdoor cameras. Also verify detect resolution matches the actual sub stream output: if the sub stream outputs 720p but detect is set to 1080p, Frigate upscales every frame (wasting CPU) and the detection is no better.

4

Check for FFmpeg process multiplication

A config error can cause Frigate to spawn multiple FFmpeg processes per camera instead of one. Check running processes: in Frigate logs, look for repeated 'Starting FFmpeg' messages for the same camera. In Docker: docker exec frigate ps aux | grep ffmpeg and count the processes. Each camera should have 1-2 FFmpeg processes (one for detect, one for record). If you see 4-6 per camera: there is a config error causing duplicate process spawning. Fix the config and restart Frigate.

5

Monitor CPU per component in the Frigate dashboard

Frigate's system dashboard (http://your-ip:5000/system) shows CPU usage broken down by component: detection, FFmpeg processes per camera, and system overhead. Identify which component spiked after your config change. If detection inference is high: the Coral TPU may not be detected (Frigate falls back to CPU detection). If FFmpeg processes are high: check for missing hwaccel or wrong stream assignments. If Frigate's own process is high: check for excessive logging or a debug mode left enabled.

Quick Solutions

Point detect at a low-res sub-stream
Enable hardware acceleration (hwaccel) for decoding
Lower detect fps/resolution
Use a Coral TPU for detection instead of CPU
Match added cameras to available capacity
Enable hardware decode for recording streams
Reduce the number of CPU-decoded streams
Fix camera role assignments

Still having issues? This is usually the deeper cause below.

If this comes back after following these steps, check whether a recent app or firmware update reset a default setting — the fix works, but the setting gets reverted silently.

Pro Tip

Keep versioned config snapshots before major tuning.

Real-World Insight

This issue almost always looks more complex than it is — the majority of cases trace back to a single setting, a stale credential, or a default that shipped wrong.

What Usually Goes Wrong
  • Detect running on a high-res stream (should be sub-stream)
  • Hardware acceleration not configured for decoding
  • Detect fps/resolution too high
  • Detection on CPU instead of a TPU
  • Added cameras without added capacity

Official Manufacturer Manual

Frigate provides official product documentation through their online manual rather than downloadable PDF. Access setup guides, troubleshooting steps, and product specifications for your Frigate Performance Regression.

View Frigate Performance Regression Online Manual

Source: docs.frigate.video

Need More Help? Frigate Support

Note: The contact information below connects you directly to Frigate's official customer support team, not Trunetto. They can help with warranty claims, device replacements, and advanced technical issues.