六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 58|回复: 0

python 监控 linux memory 使用率

[复制链接]

升级  96%

12

主题

12

主题

12

主题

童生

Rank: 1

积分
48
 楼主| 发表于 2013-1-15 02:48:05 | 显示全部楼层 |阅读模式
定时获得服务器上内存的使用率

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[key]=int(value)        #print "mem :", 100*(result["MemTotal"]-result["MemFree"])/result["MemTotal"]        return 100.0*(result["MemTotal"]-result["MemFree"])/result["MemTotal"]
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表