- Detect running on a high-res stream (should be sub-stream)
- Hardware acceleration not configured for decoding
- Detect fps/resolution too high
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.
Avoid changing many performance knobs at once.
Tools & Requirements
Step-by-Step Solution
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).
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.
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.
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.
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
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.
Keep versioned config snapshots before major tuning.
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.
- 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
Before you go — try one of these (they fix most cases).
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.
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.

