On Wed, May 10, 2017 at 10:28 AM, Lukas Zapletal <l...@redhat.com> wrote:
> Hello, > > I wrote a script that gracefully terminates Passenger processes > consuming more than 2.5 GB of private RSS memory. Typical consumption > of Foreman with Katello and other basic plugins is around 1.5 GB and > since only Passenger Enterprise allows to limit maximum amount of RSS > memory for processes, this simple script does exactly that: > > https://gist.github.com/lzap/8dddbe66ec8d43cbd4277c1de7045c17 > > Put it into your /etc/cron.hourly/ and make it executable, make sure > you read root emails or forward it properly, the script reports all > terminations performed on STDOUT. I would like you to test this script > in production and get back to me with feedback about what you think. > > Motivation is simple - we often introduce bugs in our Rails codebase > which performs some eager loading or there are memory leaks in our > code or dependencies and Passenger processes can grow up to dozens > gigabytes. Unfortunately, there is no other way of getting out other > than restarting httpd with passenger. This script could help to avoid > situations when production instance starts to swap hard thank to some > small regression we introduced. Also administrator will be noticed > early via email when this happens so we will keep track of these > regressions in production. > > http://projects.theforeman.org/issues/19496 > > Feedback appreciated. > > I gave it a spin, two comments: 1. my default memory size was around 400m i had to change the script it in order to see it in action, maybe we should take into account avail memory and how many passenger processes are allowed - the default of 2.5gb seems a bit too high? 2. in order to use your script in an scl env, you would need to wrap it with scl enable <collection> passenger-recycler Thanks! Ohad > -- > Later, > Lukas @lzap Zapletal > > -- > You received this message because you are subscribed to the Google Groups > "foreman-dev" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to foreman-dev+unsubscr...@googlegroups.com. > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "foreman-dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to foreman-dev+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.