I measured the RAM usage of 6 AI agent harnesses on a $5 VPS

Published

Last updated

Most AI agent harnesses are sold on what they can do, not on what they cost to keep running. If you want an agent that stays on around the clock, the second number decides whether a $5 VPS is enough or whether you need a bigger box. So I put six harnesses on the same small server and measured them.

The short version

On a [x] VPS, Gray idled at [x] MB, OpenClaw at [x] MB and Hermes Agent at [x] MB. The lightest harness overall was [x]; the heaviest was [x], at [x] MB.

The setup

  • —Server: [x] ([x] vCPU, [x] GB RAM, [x]).
  • —Model: [x], the same provider and model for every tool, so the numbers measure the harness and not the model.
  • —Versions: the latest stable release of each tool as of [x].
  • —Each tool installed on a clean image, following its own install instructions.

The six harnesses

HarnessWhat it isLicense
GrayMinimal, always-on harness: one Rust binary, bash as its only default toolMIT
OpenClawOpen-source personal AI assistant with 20+ messaging integrationsMIT
Hermes AgentSelf-improving agent from Nous Research with memory and self-created skillsMIT
ZeroClawSingle Rust binary with supervised autonomy by defaultMIT or Apache-2.0
nanobotUltra-lightweight Python agent framework from HKUDSMIT
NanoClawSelf-hosted agent that runs each agent in its own containerMIT

Results

HarnessIdle RSSIdle CPUActive RSSActive CPUInstall size
Gray[x] MB[x]%[x] MB[x]%[x] MB
OpenClaw[x] MB[x]%[x] MB[x]%[x] MB
Hermes Agent[x] MB[x]%[x] MB[x]%[x] MB
ZeroClaw[x] MB[x]%[x] MB[x]%[x] MB
nanobot[x] MB[x]%[x] MB[x]%[x] MB
NanoClaw[x] MB[x]%[x] MB[x]%[x] MB

The full table, including dependencies, time to first reply and lines of config, is on the agent harness benchmark page.

What stood out

  • —[x]
  • —[x]
  • —[x]

How I measured

Idle numbers are the mean of one-minute samples over an hour, with each agent running and waiting for work. Active numbers come from the same fixed script of 10 tasks, run through each tool.

bash
$pidstat -r -u -p $PID 60 60 # native installs
$docker stats --no-stream $NAME # container installs

The raw CSV and scripts are at [x]. If you get different numbers on your hardware, open an issue with your results.

Caveats

  • —RAM is only one cost: you also pay your model provider for every token the agent uses.
  • —These numbers measure the harness, not how capable the agent is. A heavier harness may do more out of the box.
  • —Versions change quickly; the date at the top of this post says when it was last checked.

← All posts