pypy 发表于 2013-1-15 02:48:05

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]
查看完整版本: python 监控 linux memory 使用率