# File lib/facter/util/memory.rb, line 8 8: def self.meminfo_number(tag) 9: memsize = "" 10: Thread::exclusive do 11: size, scale = [0, ""] 12: File.readlines("/proc/meminfo").each do |l| 13: size, scale = [$1.to_f, $2] if l =~ /^#{tag}:\s+(\d+)\s+(\S+)/ 14: # MemoryFree == memfree + cached + buffers 15: # (assume scales are all the same as memfree) 16: if tag == "MemFree" && 17: l =~ /^(?:Buffers|Cached):\s+(\d+)\s+(?:\S+)/ 18: size += $1.to_f 19: end 20: end 21: memsize = scale_number(size, scale) 22: end 23: 24: memsize 25: end