Foreman 1.13 multiple instances memory usage issue

I’m using foreman1.13 to manage over 10000 puppet hosts.
Now I have 6 foreman instances, each running on a VM server.
But I found that memory usage on foreman instance is increasing, only way to release memory it is to restart service.
Is there any way to solve this problem?


First, Foreman 1.13 is a very old version that is no longer supported - the latest version is 1.24. It is very possible that there is a bug in 1.13 causing your memory consumption to rise significantly more quickly than it would in a more modern version - there have been many performance improvements over the 3 years since it was released. I would highly recommend upgrading to a supported version, it may solve your memory issues and will also give you many new features and bug fixes (including known security vulnerabilities).

Second, how are you running Foreman? Normally, Foreman is executed using passanger and apache, with the passanger processes restarted automatically after a certain amount of requests to release memory. This is done because ruby processes don’t normally return memory to the system, though the consumption normally should level out at some point. I’m not sure this was already implemented in 1.13, but if it was, you can tune the number of requests after which passanger is restarted to a lower number.

thank you·
I will try upgrading to a new version.
I am running foreman with apache+passenger, and set max request to 500.