class MacSystemMemory

Memory probe for Mac OS

Public Class Methods

new() click to toggle source
# File lib/memory.rb, line 63
def initialize
  `system_profiler SPMemoryDataType > /tmp/memdata.tmp`
  cmd = 'grep ECC /tmp/memdata.tmp | sed -e \'s/.*ECC: //\' | tr -d \'[:space:]\''
  @is_ecc = `#{cmd}` != 'Disabled'

  cmd = "grep Type /tmp/memdata.tmp | uniq | sed -e 's/.*Type: //' | tr -d '[:space:]'"
  @type = `#{cmd}`

  cmd = "grep Speed /tmp/memdata.tmp | uniq | sed -e 's/.*Speed: //' | cut -f1 -d' '"
  @speed = `#{cmd}`.to_i

  cmd = "grep Size /tmp/memdata.tmp | uniq | sed -e 's/.*Size: //' | cut -f1 -d' '"
  slot_size = `#{cmd}`.to_i
  cmd = "grep Size /tmp/memdata.tmp | wc -l | tr -d '[:space:]'"
  slots = `#{cmd}`.to_i

  @size = slots * slot_size
  @swap_size = UNLIMITED
end