On Tue, 2018-02-20 at 21:31 +0000, Marcin Cieslak wrote: > On Mon, 19 Feb 2018, Karli Sjöberg wrote: > > > > What is the tool you are trying to deploy? foreman_maintain? > > Sorry, I was too quick. This foreman_main is used to download/update > foreman > from RedHat Satellite servers, which is not what you want.
Well, I want the "foreman_maintain" package, which includes "passenger- recycler", so I guess I do want it :) > > However, the passenger-recycler script is a standalone script which > could possibly used with this little fix: Ooh, awesome! Yeah, should´ve figured since it´s only at 0.1.3 :) > > https://github.com/theforeman/foreman_maintain/pull/143 > > To apply this, please add files/patch-bin_passenger-recycler in the > port I've sent before: > > --- bin/passenger-recycler.orig 2018-02-20 21:09:18 UTC > +++ bin/passenger-recycler > @@ -41,10 +41,10 @@ def process_status?(pid) > end > > require 'phusion_passenger' > +PhusionPassenger.locate_directories > require 'phusion_passenger/platform_info' > require 'phusion_passenger/platform_info/ruby' > require 'phusion_passenger/admin_tools/memory_stats' > -PhusionPassenger.locate_directories > stats = PhusionPassenger::AdminTools::MemoryStats.new > unless stats.platform_provides_private_dirty_rss_information? > puts 'Please run as root or platform unsupported' Yes, this works, thanks! > > > But the real problem is that Passenger does think it supports > getting process private dirty RSS memory information only on Linux: > > https://github.com/phusion/passenger/blob/219ad24159ae4033a342e6ad753 > cfee05d98bae0/src/ruby_supportlib/phusion_passenger/admin_tools/memor > y_stats.rb#L121 > > In file > src/ruby_supportlib/phusion_passenger/admin_tools/memory_stats.rb: > > 120 def platform_provides_private_dirty_rss_information? > 121 return os_name_simple == "linux" > 122 end > > This support probably would need to be written. So, unfortunately, > passenger-recycler > as written will exit with: > > Please run as root or platform unsupported Yes, I have now gotten to this stage at least, thank you very much! I don´t mind having a look at it, it might be simplest thing to write, or it´s hell, but I´ll have a look! Thank you for pointing me in the right direction! /K > > But passenger-recycler does something very simple - if the amount of > "private resident RSS > memory" is higher than specified amount in the configuration file, it > kills the process. > > You might get a much better monitoring on FreeBSD by monitoring the > output of > > procstat -v <processid> > > which will give you details about the memory usage of the process and > see how it is growing > over time. Maybe you can pinpoint the shared library that causes > this, if you are lucky. > > Marcin
signature.asc
Description: This is a digitally signed message part