X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/52e5fa6ad78f375cec5a207a123a4aa3939c8ddf..34e3e51456774127d43408b7ab65c24f41373f62:/config/initializers/memory_limits.rb diff --git a/config/initializers/memory_limits.rb b/config/initializers/memory_limits.rb index ce518269f..1b79df7f4 100644 --- a/config/initializers/memory_limits.rb +++ b/config/initializers/memory_limits.rb @@ -11,16 +11,16 @@ if defined?(SOFT_MEMORY_LIMIT) and defined?(PhusionPassenger) def initialize(app) @app = app end - + def call(env) # Process this requst status, headers, body = @app.call(env) - + # Restart if we've hit our memory limit if resident_size > SOFT_MEMORY_LIMIT Process.kill("USR1", Process.pid) end - + # Return the result of this request [status, headers, body] end @@ -31,7 +31,7 @@ if defined?(SOFT_MEMORY_LIMIT) and defined?(PhusionPassenger) fields = File.open("/proc/self/statm") do |file| fields = file.gets.split(" ") end - + # Return resident size in megabytes return fields[1].to_i / 256 end