← Blog

Monitorización ligera para VPS de 4 €: comparativa real de consumo de RAM

Rendimiento · · 7 min de lectura

Comprar un servidor VPS en proveedores económicos como Hetzner (CX22 por ~4 €/mes), Scaleway o el plan básico de DigitalOcean es una de las mejores decisiones para desplegar side projects, APIs en producción de clientes o blogs de alto tráfico. Por menos de 5 euros obtienes 1 vCPU y 2 GB de memoria RAM: potencia de sobra para un stack moderno con PostgreSQL, Redis y un runtime de Node.js, Go o Python.

Sin embargo, en cuanto decides monitorizar el servidor para enterarte de caídas o picos de uso, te encuentras con una paradoja: la monitorización compite por memoria con tus propias aplicaciones.


La trampa del "OOMKiller" en servidores de 2 GB de RAM

En un VPS de 2 GB, PostgreSQL, Redis y tu backend ya se reparten buena parte de la memoria. Todo lo que monta la monitorización en el propio servidor (un Prometheus con su base de datos de series temporales, un agente con runtime de Python o un recolector con muchos módulos) sale de lo que queda.

En el primer pico de tráfico o consulta pesada, el kernel de Linux activa el OOM Killer (Out Of Memory Killer), que mata el proceso que más memoria usa. Casi nunca es el agente de métricas: suele ser tu base de datos o tu servidor web.


Lo que hemos medido

Hemos medido tres agentes que recogen métricas del sistema: OxiPulse, node_exporter y el OpenTelemetry Collector con el receptor hostmetrics. Cada uno corre solo, con 60 s de calentamiento que se descartan y 300 s de medición, en un runner ubuntu-24.04 de GitHub Actions (4 vCPU y 16 GB de RAM) el 10-10-2026:

Agente Memoria privada (media) RSS (media) CPU (% de un núcleo)
OxiPulse 0.3.14 3,5 MB 11,4 MB 0,01 %
node_exporter 1.12.1 10,2 MB 24,0 MB 0,04 %
otelcol-contrib 0.162.0 (hostmetrics) 41,2 MB 203,9 MB 0,06 %
  • La memoria privada (RssAnon) es la que el proceso tiene en exclusiva. El RSS cuenta también las páginas compartidas, como el propio binario mapeado; por eso el RSS del Collector es mucho mayor que su memoria privada.
  • Cada herramienta recoge un conjunto de métricas distinto: node_exporter expone muchas más series por defecto. Léelo como el coste de un agente de métricas, no como una carrera de funciones.
  • No hemos medido Prometheus (el servidor), Netdata, Datadog ni Telegraf, así que no damos cifras de ellos.

El script y los resultados están en el benchmark del repositorio de OxiPulse, para que puedas repetirlo.

¿Por qué OxiPulse ocupa tan poco?

OxiPulse fue diseñado con una obsesión: el agente no puede competir por memoria con tus aplicaciones.

  1. Sin Garbage Collector (GC): Al estar escrito en Rust, no hay pausas de recolección de basura ni sobreasignación preventiva de memoria heap típica de Go o Java.
  2. Acceso directo a /proc y /sys: Lee las métricas de sistema directamente de los pseudo-sistemas de archivos del kernel de Linux sin dependencias intermedias.
  3. Búfer sin conexión: Si la red se cae, guarda en memoria hasta 8.640 muestras (72 horas a una cada 30 s) y las reenvía al volver, con su hora original. Ese búfer sí ocupa: unos 20 MB después de 72 horas sin conexión.
  4. Exportación OTLP nativa: Envía la telemetría en protobuf mediante OTLP/gRPC (HTTP/2).

Cómo ejecutar OxiPulse de forma autónoma (Zero Lock-In)

Los desarrolladores no quieren herramientas cerradas que los aten a un proveedor. OxiPulse es código abierto bajo licencia Apache-2.0 y utiliza el estándar OpenTelemetry (OTLP).

Puedes compilarlo y ejecutarlo apuntando a cualquier recolector OTLP (un OpenTelemetry Collector, Grafana, SigNoz o tu propio backend):

# Ejecutar OxiPulse apuntando a tu colector OTLP gRPC local
OXIPULSE_ENDPOINT=http://localhost:4317 cargo run --release

En tu servidor corre como servicio systemd, y puedes ver en cualquier momento cuánta memoria usa:

systemctl status oxipulse

Conclusión

Monitorizar un servidor de 4 €/mes no debería obligarte a pagar licencias que cuestan más que el servidor ni a dejar en el agente la memoria que necesitan tus aplicaciones.

Con un agente nativo en Rust como OxiPulse, la monitorización ocupa unos pocos megas y el resto del VPS queda para lo que importa: tu negocio y tus clientes. Puedes conectar tu primer servidor gratis en SecuryBlack (plan Hobby).

Blog

Descubre qué tiene mal tu servidor

Conecta tu primer VPS y recibe la auditoría de seguridad. Gratis durante la beta.