get_process_mem.rb

Path: lib/get_process_mem.rb
Last Update: Sat Feb 23 07:11:56 +0000 2019

Required files

pathname   bigdecimal   sys/proctable  

Methods

bytes   gb   inspect   kb   linux?   linux_memory   linux_status_memory   mb   new   ps_memory  

Included Modules

Sys

Constants

KB_TO_BYTE = number_to_bigdecimal 1024
MB_TO_BYTE = number_to_bigdecimal 1_048_576
GB_TO_BYTE = number_to_bigdecimal 1_073_741_824
CONVERSION = { "kb" => KB_TO_BYTE, "mb" => MB_TO_BYTE, "gb" => GB_TO_BYTE }
ROUND_UP = number_to_bigdecimal "0.5"
RUNS_ON_WINDOWS = Gem.win_platform?

Public Class methods

Public Instance methods

linux stores detailed memory info in a file "/proc/#{pid}/smaps"

linux stores memory info in a file "/proc/#{pid}/status" If it‘s available it uses less resources than shelling out to ps

Pull memory from `ps` command, takes more resources and can freeze in low memory situations

[Validate]