class Process::Metrics::Memory::Linux
def self.capture(pid, **options)
def self.capture(pid, **options) usage = Memory.zero begin File.foreach("/proc/#{pid}/smaps_rollup") do |line| if /(?<name>.*?):\s+(?<value>\d+) kB/ =~ line if key = SMAP[name] usage[key] += value.to_i end end end usage.map_count += File.readlines("/proc/#{pid}/maps").size rescue Errno::ENOENT => error # Ignore. end return usage end