python 监控 linux memory 使用率
定时获得服务器上内存的使用率linux的内存使用跟win是不一样的,以下linux命令获得内存使用率是,linux os 预先分配的,实际上可能还没有使用这么多内存,可以使用
$free -m total used free shared buffers cachedMem: 1942 1671 271 0 404 731-/+ buffers/cache: 535 1406Swap: 6015 5 6010
实际使用的内存是 535M
但是linux os占据了 1671M
对比下,可以使用以下代码获得操作系统占用的内存
re_meminfo_parser = re.compile(r'^(?P<key>\S*):\s*(?P<value>\d*)\s*kB') def _get_mem_usage(self): """ get mem used by percent self.result = falot """ result={} try: fd=open('/proc/meminfo', 'r') lines=fd.readlines() finally: if fd: fd.close() for line in lines: match=re_meminfo_parser.match(line) if not match: continue # skip lines that don't parse key, value=match.groups(['key', 'value']) result=int(value) #print "mem :", 100*(result["MemTotal"]-result["MemFree"])/result["MemTotal"] return 100.0*(result["MemTotal"]-result["MemFree"])/result["MemTotal"]
页:
[1]