Module: LinuxStat::Memory
- Defined in:
- lib/linux_stat/memory.rb
Overview
Shows various Memory related information of the current system.
Class Method Summary collapse
-
.available ⇒ Object
Returns the total memory details reported by /proc/meminfo.
-
.percent_available ⇒ Object
Returns the percentage of memory used reported by /proc/meminfo.
-
.percent_used ⇒ Object
Returns the percentage of memory used reported by /proc/meminfo.
-
.stat ⇒ Object
Returns the memory details reported by /proc/meminfo.
-
.total ⇒ Object
Returns the total memory details reported by /proc/meminfo.
-
.used ⇒ Object
Returns the amount of memory used reported by /proc/meminfo.
Class Method Details
.available ⇒ Object
Returns the total memory details reported by /proc/meminfo. The value is in Kilobyte.
It retuns an Integer but if the info is not available, it will return nil
52 53 54 55 |
# File 'lib/linux_stat/memory.rb', line 52 def available return nil unless meminfo? IO.foreach('/proc/meminfo'.freeze).first(3)[-1].split[1].to_i end |
.percent_available ⇒ Object
Returns the percentage of memory used reported by /proc/meminfo.
It retuns an Integer but if the info is not available, it will return nil
83 84 85 86 87 |
# File 'lib/linux_stat/memory.rb', line 83 def percent_available return nil unless meminfo? memory = IO.foreach('/proc/meminfo'.freeze).first(3) memory[2].split[1].to_i.*(100).fdiv(memory[0].split[1].to_i).round(2) end |
.percent_used ⇒ Object
Returns the percentage of memory used reported by /proc/meminfo.
It retuns an Integer but if the info is not available, it will return nil
72 73 74 75 76 77 |
# File 'lib/linux_stat/memory.rb', line 72 def percent_used return nil unless meminfo? memory = IO.foreach('/proc/meminfo'.freeze).first(3) total = memory[0].split[1].to_i total.-(memory[2].split[1].to_i).*(100).fdiv(total).round(2) end |
.stat ⇒ Object
Returns the memory details reported by /proc/meminfo. In this format:
{:total=>3836264, :used=>3097952, :available=>738312, :percent_used=>80.75, :percent_available=>19.25}
The values are in Kilobyte.
If the statistics is not available, it will return an empty Hash.
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
# File 'lib/linux_stat/memory.rb', line 13 def stat return {} unless meminfo? memory = IO.foreach('/proc/meminfo'.freeze).first(3) total = memory[0].split[1].to_i available = memory[2].split[1].to_i used = total - available percent_used = total == 0 ? 0.0 : used.*(100).fdiv(total).round(2) percent_available = total == 0 ? 0.0 : available.*(100).fdiv(total).round(2) # We have all the methods, but each methods reads the same file # # So better to use the above calculation { total: total, used: used, available: available, percent_used: percent_used, percent_available: percent_available } end |
.total ⇒ Object
Returns the total memory details reported by /proc/meminfo. The value is in Kilobyte.
It retuns an Integer but if the info is not available, it will return nil.
42 43 44 45 |
# File 'lib/linux_stat/memory.rb', line 42 def total return nil unless meminfo? IO.foreach('/proc/meminfo'.freeze).first.split[1].to_i end |
.used ⇒ Object
Returns the amount of memory used reported by /proc/meminfo. The value is in Kilobyte.
It retuns an Integer but if the info is not available, it will return nil.
62 63 64 65 66 |
# File 'lib/linux_stat/memory.rb', line 62 def used return nil unless meminfo? memory = IO.foreach('/proc/meminfo'.freeze).first(3) memory[0].split[1].to_i - memory[2].split[1].to_i end |