Skip to content

Commit

Permalink
implement MemInfo.mem_total on Mac OS X
Browse files Browse the repository at this point in the history
  • Loading branch information
kubamracek committed Mar 23, 2013
1 parent 030ecfa commit 0e27af8
Showing 1 changed file with 13 additions and 7 deletions.
20 changes: 13 additions & 7 deletions lib/mem_info.rb
Original file line number Diff line number Diff line change
@@ -1,15 +1,21 @@
class MemInfo

# Total memory in kb. Only works on systems with /proc/meminfo.
# Total memory in kb. On Mac OS uses "sysctl", elsewhere expects the system has /proc/meminfo.
# Returns nil if it cannot be determined.
def mem_total
@mem_total ||= begin
if s = `grep MemTotal /proc/meminfo`
/(\d+)/.match(s)[0].try(:to_i)
else
@mem_total ||=
begin
system = `uname`.strip
if system == "Darwin"
s = `sysctl -n hw.memsize`.strip
s.to_i / 1024
else
s = `grep MemTotal /proc/meminfo`
/(\d+)/.match(s)[0].try(:to_i)
end
rescue
nil
end
end
end

end
end

0 comments on commit 0e27af8

Please sign in to comment.