Getting the most out of a 1 GB VPS
Small virtual servers are wonderful. For the price of a couple of coffees a month you get a real, always-on Linux machine with a public address. The catch is the memory budget: a single gigabyte disappears faster than you'd think once you start layering runtimes on top of each other. Here's how I keep mine comfortable.
Pick lean building blocks
The single biggest lever is choosing software that doesn't assume it owns the machine. A static binary written in Go or Rust will happily serve thousands of requests in a few dozen megabytes of RSS. The same workload behind a heavyweight application server can need ten times that before it even accepts a connection.
I serve this site with a single static binary and a few kilobytes of HTML. No database, no interpreter, no container runtime. It idles at a handful of megabytes.
Give yourself swap
Swap is not a substitute for RAM, but a small swap file turns "the OOM killer ate my process" into "things got briefly slow." On a 1 GB box I add half a gigabyte:
fallocate -l 512M /swapfile
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile
Add a matching line to /etc/fstab so it survives a reboot, and consider
lowering vm.swappiness so the kernel only reaches for it under real
pressure.
Watch what starts at boot
Distributions love to enable things you'll never use. systemctl
list-units --type=service --state=running is a five-minute audit that often
reclaims a surprising amount of memory. Disable what you don't need; you can always
turn it back on.
Tune the network for long links
If your traffic crosses an ocean, congestion control matters more than throughput on paper. Modern kernels ship with BBR, which handles high-latency, slightly-lossy paths far better than the old default:
net.core.default_qdisc = fq
net.ipv4.tcp_congestion_control = bbr
Drop that in /etc/sysctl.d/, apply it, and you'll often see noticeably
steadier transfers without spending a cent more.
The takeaway
A small server rewards restraint. Choose software that respects its limits, leave a little headroom, and a 1 GB machine will quietly do real work for years. The constraint is half the fun.