Benchmark · measured monthly on our own servers

What the Opservo agent costs a server

CPU, memory and bandwidth of the Opservo monitoring agent, measured monthly on our own Linux servers. Median and p95, with the method.

In short

On the 21 Linux servers we run ourselves, the Opservo agent uses a median 0.24% of the whole server's CPU (p95 0.74%) and 29.1 MB of memory (p95 41.4 MB), and sends about 2483 KB of snapshot data an hour. Measured 2026-10-20.

The numbers · 2026-10-20

Per server, across 21 Linux servers

Median first, then the 95th percentile and the worst server.

MeasureMedianSpreadServers
CPU, share of the whole server0.24%p95 0.74%, max 0.76%21
Resident memory29.1 MBp95 41.4 MB, max 187.6 MB21
Snapshot sent per heartbeat (uncompressed JSON)41.4 KBp95 70.7 KB; one heartbeat a minute21
Snapshot data per hour2483 KBp95 4242 KB, about 58 MB a day21
Binary on disk10.8 MBamd64; arm64 10.1 MB; one static Go binary, no runtime—

By server size

Does a bigger server pay more?

The agent does the same work whatever the size, so its share of a bigger machine is smaller. Rows with fewer than 5 servers show no figure.

Servers withCPU share (median · p95)Memory (median · p95)Servers
1–2 cores——1
3–4 cores——4
5+ cores0.21% · 0.7%29.6 MB · 78 MB16

What the agent is doing for that

Every minute the agent reads CPU, memory, disks, load and pressure stall information, walks the process table, lists systemd units, Docker containers and PM2 apps, maps listening ports to processes, tails nginx, Laravel, Docker and journald logs since the last read, checks certificate expiry on the vhosts it found, runs the security checks (SSH logins, firewall, exposed database ports, sudoers), and sends one signed snapshot over outbound HTTPS. There are no inbound ports and nothing is polled from outside.

Method

Measured on 21 Linux servers Softuvo runs itself, never on a customer's. For each server the latest snapshot was taken as of 2026-10-20; the agent's CPU share and resident memory come from the same process list the agent reports for every process (CPU is the process's share of the whole machine over the sample, so 0.5% on a 4-core server is 2% of one core). Bandwidth is the size of the snapshot JSON the API stores per heartbeat, uncompressed, scaled to an hour at one heartbeat a minute; log lines shipped alongside are not counted. Install times come from the daily clean-install check: a fresh Ubuntu 24.04 container runs the install command as a new user would, timed from the moment the command is shown. A figure measured on fewer than 5 servers is left out. Re-measured on the first of every month and published after a 48-hour review.

Agent builds in this sample: src-abf1a6fc8304. First published 2026-10-22; this measurement published 2026-10-22.

Questions

How is the agent’s CPU measured?+

From the same process list the agent reports for every process on the server: the agent’s share of the whole machine’s CPU over the sample interval. 0.5% on a 4-core server is 2% of one core.

Why your own servers and not a lab?+

A lab box is idle. Our servers run real nginx, PHP, Node.js, MySQL, Redis and Docker workloads for real clients, so the agent is measured doing real work: tailing logs, walking processes, checking certificates. We never measure on a customer’s server.

What is not counted?+

Log lines the agent ships alongside the snapshot (they vary with how noisy a server is), the API side, and anything the agent does only when you ask it to, such as running a fix. A figure measured on fewer than 5 servers is left out of the page rather than estimated.

How often is this updated?+

The numbers are re-measured on the first of every month and replace the page after a 48-hour review. The date on the page is the measurement date.