discourse/lib/mem_info.rb

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

26 lines
577 B
Ruby
Raw Permalink Normal View History

# frozen_string_literal: true
2013-03-22 15:47:25 -04:00
class MemInfo
# Total memory in kb. On Mac OS uses "sysctl", elsewhere expects the system has /proc/meminfo.
2013-03-22 15:47:25 -04:00
# Returns nil if it cannot be determined.
def mem_total
@mem_total ||=
begin
system = `uname`.strip
if system == "Darwin"
s = `sysctl -n hw.memsize`.strip
s.to_i / 1.kilobyte
else
s = `grep MemTotal /proc/meminfo`
/(\d+)/.match(s)[0].try(:to_i)
end
rescue StandardError
2013-03-22 15:47:25 -04:00
nil
end
end
def unknown?
mem_total.nil?
end
end