lib/zold/node/front.rb in zold-0.17.2 vs lib/zold/node/front.rb in zold-0.17.3
- old
+ new
@@ -196,11 +196,16 @@
cpus: settings.zache.get(:cpus) do
Concurrent.processor_count
end,
memory: settings.zache.get(:memory, lifetime: 5 * 60) do
require 'get_process_mem'
- GetProcessMem.new.bytes.to_i
+ mem = GetProcessMem.new.bytes.to_i
+ if mem > 256 * 1024 * 1024 && !settings.opts['skip-oom']
+ settings.log.error('We are too big in memory, quitting; use --skip-oom to never quit')
+ Front.stop!
+ end
+ mem
end,
platform: RUBY_PLATFORM,
load: settings.zache.get(:load, lifetime: 5 * 60) do
require 'usagewatch_ext'
Object.const_defined?('Usagewatch') ? Usagewatch.uw_load.to_f : 0.0
@@ -451,10 +456,13 @@
processes.count
end
end
def processes
- POSIX::Spawn::Child.new('ps', 'ax').out.split("\n").select { |t| t.include?('zold') }
+ []
+ # This is temporarily disabled. We suspect that this line causes
+ # memory leakage.
+ # POSIX::Spawn::Child.new('ps', 'ax').out.split("\n").select { |t| t.include?('zold') }
end
def pretty(json)
JSON.pretty_generate(json)
end