Module: LinuxProcMem

Extended by:
LinuxProcMem
Included in:
LinuxProcMem
Defined in:
lib/linux_proc_mem.rb,
lib/linux_proc_mem/version.rb

Constant Summary collapse

VERSION =
"0.0.2"

Instance Method Summary collapse

Instance Method Details

#child_pids(pid) ⇒ Object



15
16
17
# File 'lib/linux_proc_mem.rb', line 15

def child_pids(pid)
  Dir["/proc/#{pid}/task/*/children"].map { |file| pids_from_file(file) }.flatten
end

#get_bytes(pid) ⇒ Object



7
8
9
10
11
12
13
# File 'lib/linux_proc_mem.rb', line 7

def get_bytes(pid)
  file = Pathname.new("/proc/#{pid}/smaps")
  raise "File #{file} not found!" unless File.exists?(file.to_s)
  GetProcessMem.new.linux_memory(file) + child_pids(pid).inject(0) { |sum, cpid| sum += get_child_bytes(cpid) }
rescue
  0.0
end