
500 Cameras on One Server: Real VMS Load Benchmark
A single physical Linux server running IncoreSoft VMS handles 500 Full HD cameras in continuous recording mode using only about 45% CPU, 48% RAM, and 6% of a 10 GbE network link. These are actual figures from a live deployment, not a theoretical sizing-calculator estimate.
How much server hardware does a 500-camera video surveillance system actually need? Instead of theoretical calculations or marketing claims, we're sharing real performance data from a live deployment running IncoreSoft VMS.
A single physical Linux server handles approximately 500 Full HD cameras. All cameras record continuously, and most video streams use the modern H.265 codec. Even under this load, the server retains a substantial performance reserve.
Server Configuration
The system runs on a single server with the following specifications:
| Component | Specification |
|---|---|
| CPU | Intel Xeon Silver 4216 — 16 cores, 32 threads |
| RAM | 64 GB DDR4 ECC |
| Network | 10 GbE (camera traffic and archive writes separated via VLAN) |
| Archive | External NFS storage, 37 TB |
| OS | Ubuntu 24.04 LTS |
| Virtualization | None — installed directly on bare metal |
A single physical network interface carries both inbound camera traffic and outbound writes to the network archive at the same time; VLANs keep the two traffic types separated.
The Actual Load 500 Cameras Create
Measurements were taken while all 500 cameras were active and recording continuously.
| Resource | Load | Details |
|---|---|---|
| CPU | ≈ 45% | 55% of CPU capacity free; all stream decoding runs on the CPU |
| RAM | ≈ 48% | ≈30 GiB used by the system + ≈25 GiB Linux cache |
| 10 GbE network | ≈ 6% | inbound ≈560 Mbps, archive writes ≈490 Mbps |
| NFS archive writes | ≈ 55 MB/s (≈4%) | no queuing or packet retransmissions |
Both GPUs on the server remained completely idle. That headroom is available for:
hardware video decoding;
running VEZHA AI analytics modules;
further system expansion without a hardware upgrade.
This translates into a significant performance reserve for scaling the system, adding more cameras, expanding the number of operator workstations, and growing the deployment without an immediate server replacement.
Video Streams Used in the Deployment
The project is configured with two video streams per camera.
The most common main-stream profile: H.265, 1920×1080, 12 fps, 2048 Kbps, VBR — used by ≈85% of cameras.
Over 90% of main streams run on the H.265 codec.
Nearly all cameras deliver Full HD resolution.
Continuous recording is enabled for all 500 cameras.
What This Means for the Customer
VMS efficiency isn't defined by the feature list alone. It's just as important to know how many servers a system needs, how much RAM the software consumes, what load it places on the network, whether extra GPUs are required, how much power the server infrastructure draws, and how much headroom is left for future scaling.
The efficiency of IncoreSoft VMS makes it possible to:
cover large sites with fewer servers;
reduce upfront hardware investment;
cut power and maintenance costs;
make full use of existing server infrastructure;
keep headroom available for video analytics;
lower the total cost of ownership of the surveillance system.
Compare It With Your Own System
Open the monitoring dashboard of the VMS you currently run and check:
how many cameras a single recording server handles;
what CPU load that produces;
how much RAM the system uses;
whether the GPUs are engaged;
whether queuing occurs during archive writes;
how many physical servers are needed for 500 cameras;
how much performance headroom remains for scaling;
whether you can add video analytics without buying new hardware.
Test IncoreSoft VMS on Your Own Infrastructure
Send us your camera count, resolution, frame rate, bitrate, and required archive depth — we'll put together a hardware configuration and show you the real load your surveillance system will create.
FAQ
How many cameras can one IncoreSoft VMS server handle?
In the configuration described here, a single server built on an Intel Xeon Silver 4216 (16 cores / 32 threads, 64 GB RAM) reliably handles 500 Full HD cameras in continuous recording mode, with more than half of its CPU and RAM capacity still free.
Do you need a GPU to process 500 cameras?
No — in this deployment, all stream decoding runs on the CPU, and both GPUs remain idle. They can optionally be used for hardware decoding or video analytics, but they aren't required for this baseline load.
What's the best codec for large-scale installations?
H.265, which carried the majority of the load in this case (over 90% of streams) and keeps network utilization at just 6% of a 10 GbE link.
Is virtualization required for a VMS server at this scale?
In this configuration, the system is installed directly on bare metal without virtualization, which reduces resource overhead and simplifies performance diagnostics.
Read also

VMS and Video Analytics as a Service (SaaS)
A modern video surveillance system should not only ensure security but also adapt easily as a business grows. Opening new sites, connecting additional cameras, and using intelligent video analytics shouldn't require major one-time investments.

AI Surveillance for Smart Cities: Real-World Applications
That's the paradox of AI surveillance in smart cities — it's simultaneously the thing that makes urban life safer and the thing that keeps privacy advocates up at night.

Video Analytics Latency
Video analytics latency is the elapsed time between an event occurring in front of the camera and the system producing a result (alert, metadata, decision). In critical-response applications — weapons, fires, falls, intrusions — latency directly affects outcomes. Leading platforms target under 50 ms for edge-deployed analytics.
Ready to Get Started?
Fill in the form and our team will get back to you shortly.