Module: Vidibus::Sysinfo::Memory
- Extended by:
- Base
- Defined in:
- lib/vidibus/sysinfo/memory.rb
Overview
Returns used memory in megabytes.
Calls ‘free`
Defined Under Namespace
Classes: Result
Class Method Summary collapse
Methods included from Base
Methods included from Helper
Class Method Details
.command ⇒ Object
24 25 26 |
# File 'lib/vidibus/sysinfo/memory.rb', line 24 def command 'free -m' end |
.parse(output) ⇒ Object
28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
# File 'lib/vidibus/sysinfo/memory.rb', line 28 def parse(output) new_format = !!output.match(/available/) if output.match(/^Mem:\s+([\d\s]+)$/) numbers = $1.split(/\s+/) total = numbers[0].to_i buffers = numbers[4].to_i cached = new_format ? buffers : numbers[5].to_i used = numbers[1].to_i unless new_format used -= buffers + cached end Result.new({ total: total, used: used, free: total - used }) end end |