class Meminfo
Captures host memory from Linux /proc/meminfo.
Definitions
def self.supported?
Whether /proc/meminfo is available.
Signature
-
returns
Boolean Whether the procfs memory information exists.
Implementation
def self.supported?
File.exist?("/proc/meminfo")
end
def capture
Capture host memory from /proc/meminfo.
Signature
-
returns
Host::Memory | Nil The captured host memory, if available.
Implementation
def capture
content = File.read("/proc/meminfo") rescue nil
return nil unless content
total = read_total(content)
return nil unless total && total.positive?
used = read_used(content, total)
used = 0 if used.nil? || used.negative?
used = [used, total].min
swap_total, swap_used = read_swap(content)
reclaimable = read_reclaimable(content)
return Host::Memory.new(total, used, swap_total, swap_used, reclaimable)
end