# File lib/facter/util/memory.rb, line 60
  def self.vmstat_darwin_find_free_memory()

    memfree = 0
    pagesize = 0
    memspecfree = 0

    vmstats = Facter::Util::Resolution.exec('vm_stat')
    vmstats.each_line do |vmline|
      case
      when vmline =~ /page\ssize\sof\s(\d+)\sbytes/
        pagesize = $1.to_i
      when vmline =~ /^Pages\sfree:\s+(\d+)\./
        memfree = $1.to_i
      when vmline =~ /^Pages\sspeculative:\s+(\d+)\./
        memspecfree = $1.to_i
      end
    end

    freemem = ( memfree + memspecfree ) * pagesize
    Facter.add("MemoryFree") do
      setcode do
        Facter::Memory.scale_number(freemem.to_f, "")
      end
    end
  end