六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 54|回复: 0

erts运行期内存使用情况查看

[复制链接]

升级  62%

120

主题

120

主题

120

主题

举人

Rank: 3Rank: 3

积分
386
 楼主| 发表于 2013-1-15 03:14:55 | 显示全部楼层 |阅读模式
翻erlang的代码发现erlang对memory的管理非常重视 内置了多种内存allocator:
       
  • B: binary_alloc   
  • D: std_alloc   
  • E: ets_alloc   
  • F: fix_alloc   
  • H: eheap_alloc   
  • L: ll_alloc   
  • M: mseg_alloc   
  • S: sl_alloc   
  • T: temp_alloc   
  • Y: sys_alloc
多种分配策略:
    1。  Best fit
    2 。 Address order best fit
    3.  Good fit
   4.  A fit

还要一个erl_mtrace 模块专门收集erts允许期间的内存使用情况 然后通过tcp socket发送到 emem 这个程序中打印到 tty让人观察系统的情况。

emem在lib/tools/目录下 make install的时候默认没有安装。

启动 ./lib/tools/bin/i686-pc-linux-gnu/emem -p 1234

然后用erl -sname foo  +Mit ip:1234就可以观察erlang的内存运作了.

注意erts的文档里面写:
+Mit X   <!---->         Reserved for future use. Do not use this flag.是属于未公开的 。
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

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