def meminfo(self):
# OpenVZ may not have some varirables
# so init them first
mem_total = mem_free = mem_buffers = mem_cached = swap_total = swap_free = 0
with open('/proc/meminfo', 'r') as f:
for line in f:
if ':' not in line: continue
item, value = line.split(':')
value = int(value.split()[0]) * 1024;
if item == 'MemTotal':
mem_total = value
elif item == 'MemFree':
mem_free = value
elif item == 'Buffers':
mem_buffers = value
elif item == 'Cached':
mem_cached = value
elif item == 'SwapTotal':
swap_total = value
elif item == 'SwapFree':
swap_free = value
mem_used = mem_total - mem_free
swap_used = swap_total - swap_free
return {
'mem_total': b2h(mem_total),
'mem_used': b2h(mem_used),
'mem_free': b2h(mem_free),
'mem_buffers': b2h(mem_buffers),
'mem_cached': b2h(mem_cached),
'swap_total': b2h(swap_total),
'swap_used': b2h(swap_used),
'swap_free': b2h(swap_free),
'mem_used_rate': div_percent(mem_used, mem_total),
'mem_free_rate': div_percent(mem_free, mem_total),
'swap_used_rate': div_percent(swap_used, swap_total),
'swap_free_rate': div_percent(swap_free, swap_total),
}
评论列表
文章目录