Commit 11005e7b by Brian Coca

Merge pull request #9839 from nousdefions/memfacts

Memfacts
parents 66fb24ad a93db194
...@@ -603,6 +603,8 @@ class LinuxHardware(Hardware): ...@@ -603,6 +603,8 @@ class LinuxHardware(Hardware):
platform = 'Linux' platform = 'Linux'
MEMORY_FACTS = ['MemTotal', 'SwapTotal', 'MemFree', 'SwapFree'] MEMORY_FACTS = ['MemTotal', 'SwapTotal', 'MemFree', 'SwapFree']
EXTRA_MEMORY_FACTS = ['Buffers', 'Cached', 'SwapCached']
def __init__(self): def __init__(self):
Hardware.__init__(self) Hardware.__init__(self)
...@@ -619,6 +621,7 @@ class LinuxHardware(Hardware): ...@@ -619,6 +621,7 @@ class LinuxHardware(Hardware):
return self.facts return self.facts
def get_memory_facts(self): def get_memory_facts(self):
memstats = {}
if not os.access("/proc/meminfo", os.R_OK): if not os.access("/proc/meminfo", os.R_OK):
return return
for line in open("/proc/meminfo").readlines(): for line in open("/proc/meminfo").readlines():
...@@ -627,6 +630,26 @@ class LinuxHardware(Hardware): ...@@ -627,6 +630,26 @@ class LinuxHardware(Hardware):
if key in LinuxHardware.MEMORY_FACTS: if key in LinuxHardware.MEMORY_FACTS:
val = data[1].strip().split(' ')[0] val = data[1].strip().split(' ')[0]
self.facts["%s_mb" % key.lower()] = long(val) / 1024 self.facts["%s_mb" % key.lower()] = long(val) / 1024
if key in LinuxHardware.MEMORY_FACTS or key in LinuxHardware.EXTRA_MEMORY_FACTS:
val = data[1].strip().split(' ')[0]
memstats[key.lower()] = long(val) / 1024
self.facts['memory_mb'] = {
'real' : {
'total': memstats['memtotal'],
'used': (memstats['memtotal'] - memstats['memfree']),
'free': memstats['memfree']
},
'nocache' : {
'free': memstats['cached'] + memstats['memfree'] + memstats['buffers'],
'used': memstats['memtotal'] - (memstats['cached'] + memstats['memfree'] + memstats['buffers'])
},
'swap' : {
'total': memstats['swaptotal'],
'free': memstats['swapfree'],
'used': memstats['swaptotal'] - memstats['swapfree'],
'cached': memstats['swapcached']
}
}
def get_cpu_facts(self): def get_cpu_facts(self):
i = 0 i = 0
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment