Class: Process::Metrics::Host::Memory::Linux::Meminfo
- Inherits:
-
Object
- Object
- Process::Metrics::Host::Memory::Linux::Meminfo
- Defined in:
- lib/process/metrics/host/memory/linux/meminfo.rb
Overview
Captures host memory from Linux /proc/meminfo.
Class Method Summary collapse
-
.supported? ⇒ Boolean
Whether
/proc/meminfois available.
Instance Method Summary collapse
-
#capture ⇒ Object
Capture host memory from
/proc/meminfo.
Class Method Details
.supported? ⇒ Boolean
Whether /proc/meminfo is available.
13 14 15 |
# File 'lib/process/metrics/host/memory/linux/meminfo.rb', line 13 def self.supported? File.exist?("/proc/meminfo") end |
Instance Method Details
#capture ⇒ Object
Capture host memory from /proc/meminfo.
19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/process/metrics/host/memory/linux/meminfo.rb', line 19 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 |