Hi all,
I'm trying to set up a Sensu monitoring server on a Digital Ocean droplet. I don't expect it to be heavily used (personal project) so I started with the $5/month 512MB server. Obviously I can upgrade it later when it's up and running, but it seems I can't even get off the ground with this spec!
Memory usage on the box goes down to around 49MB and then lots of things start failing; especially RabbitMQ, which can't stop because it doesn't have enough memory to do so via the init script.
My Sensu (with RabbitMQ) setup is basically this Docker image:
https://github.com/hiroakis/docker-sensu-server (see the rabbitmq.conf in there). BTW Docker is on 1.8.2 and hopefully free of the memory leak issues from earlier versions.
I tried adding this line into the /etc/rabbitmq/rabbitmq.conf:
{vm_memory_high_watermark, 0.2},
The logs show that it's limited memory to around 98MB as a result of this config, but still when I launch the container RabbitMQ is using all the available memory. This is a few seconds after starting, with only one Sensu agent trying to connect, and no checks defined.
For comparison, I looked at a machine at home where I'd run the Sensu container without any problems (probably because this machine has 16GB of hardly-used RAM):
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
2062 498 20 0 2550680 302764 3648 S 0.3 1.9 25:48.43 beam.smp
Memory usage:
$ free -m
total used free shared buffers cached
Mem: 15894 11905 3988 2 2452 7027
-/+ buffers/cache: 2425 13468
Swap: 16225 0 16225
After logging into the container and stopping just rabbitmq:
$ free -m
total used free shared buffers cached
Mem: 15894 11611 4283 2 2452 7027
-/+ buffers/cache: 2131 13763
Swap: 16225 0 16225
294MB seems like an awful lot of memory for a process that's doing nothing (although I didn't set the vm_memory_high_watermark value on this instance).
So is there a certain memory footprint needed just to "get off the ground" (I'm sure it's super efficient at larger scale), or am I missing some obvious configuration settings that might apply to a small scale installation?
Thanks,
Lars.