I am running Pi-hole on a 256MB NAT VPS from Hostinger and it works fine? I was worried about memory but it has been stable for two weeks now. I only paid $8/year so I wanted to share. Is this normal or am I missing something!
Running Pi-hole on 256MB NAT
$ free -m
total used free shared buff/cache available
Mem: 256 87 12 4 157 145
Swap: 128 0 128Disk is fine, pipe is meh 87MB resident is real. Here is comparison:
- Fresh Pi-hole: ~65MB
- After 48h cache: 80-95MB
- 256MB limit: workable with swappiness=10
Thanks for the report, Sarah. This matches what we are seeing in our testing environment.
We have added 256MB NAT to our approved list for lightweight DNS filtering. The key is disabling the web interface and running FTL without query logging. For most users, 512MB remains our recommendation.
Important: enable unattended-upgrades. A full apt process will OOM-kill Pi-hole on 256MB.
— Admin
Actually, Pi-hole FTL version 5.18 and later implements RFC 7766-compliant TCP pipelining, which increases baseline memory usage by approximately twelve percent. Your observed eighty-seven megabytes suggests you are running an earlier version, or you have modified the cache size parameter in /etc/pihole/pihole-FTL.conf. The default cache size is ten thousand entries.
OpenVZ would have crashed already. The virtualization tax on KVM with proper cgroup limits is what makes this possible. Your provider is likely using virtio-balloon to reclaim idle pages. Check your dmesg for memory pressure events. Without KSM enabled, 256MB is genuinely tight.
The machine is performing adequately for its designated purpose. However, I would not recommend this configuration for production environments. The margin for error is too narrow. A single memory leak in FTL or an unscheduled cron task will trigger the OOM killer. I have observed similar setups on machines at Vultr and Hetzner. The results are consistent but fragile.
-- Marcus