2007-07-31
erts运行期内存使用情况查看
翻erlang的代码发现erlang对memory的管理非常重视 内置了多种内存allocator:
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的文档里面写:
是属于未公开的 。
-
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的文档里面写:
是属于未公开的 。
评论
jigsaw
2007-08-02
我错了 gnumalloc行的通
ptmalloc3的效果则更好(不负责任的说,跟gnumalloc比,节省90%的内存)
http://www.malloc.de/en/
而ptmalloc3也早就在里面glibc了 只不过俺一直用freebsd4.x 不知道这个事实
ptmalloc3的效果则更好(不负责任的说,跟gnumalloc比,节省90%的内存)
http://www.malloc.de/en/
而ptmalloc3也早就在里面glibc了 只不过俺一直用freebsd4.x 不知道这个事实
jigsaw
2007-08-02
对 我就是这个意思 绕过glibc
用什么库代替它 可以使得user space的内存管理有能力把内存还给kernel
当然 我自己做是做不出来的 这里必须考虑到mem/CPU使用的平衡
我说的上下文不是erlang
用什么库代替它 可以使得user space的内存管理有能力把内存还给kernel
当然 我自己做是做不出来的 这里必须考虑到mem/CPU使用的平衡
我说的上下文不是erlang
mryufeng
2007-08-02
这个是glibc实现的malloc free的问题 和erlang没有关系 不过erlang可以用自己的malloc实现 elib_malloc
jigsaw
2007-08-02
user space的内存管理好像比kernel里的还头疼---我是说freebsd5.0以前的OS
我现在也有个mem allocator的问题
因为用的还是较老的系统 free 没办法把内存还给kernel
app是个典型的proxy类的service 里面无数的malloc/free
跑久了之后active mem维持在95%
不知道mryufeng有无碰到此问题,是怎么解决的? (gnumalloc无效)
我现在也有个mem allocator的问题
因为用的还是较老的系统 free 没办法把内存还给kernel
app是个典型的proxy类的service 里面无数的malloc/free
跑久了之后active mem维持在95%
不知道mryufeng有无碰到此问题,是怎么解决的? (gnumalloc无效)
mryufeng
2007-07-31
俺以前也是想法设法作memory allocator, 所以知道作这个的艰辛和对系统性能提高的影响。
pi1ot
2007-07-31
这位老兄研究的不浅。
发表评论
提醒: 该博客已发表在公共论坛,博客所有留言会成为论坛回贴,留言请注意遵守论坛发贴规则
- 浏览: 66437 次
- 性别:

- 来自: 广州

- 详细资料
搜索本博客
最近加入圈子
链接
最新评论
-
Yueliang + LuLu 完整的Lu ...
lua用途很广的 我主要用于服务器 可以参看mysql-proxy项目 可以并发 ...
-- by mryufeng -
Yueliang + LuLu 完整的Lu ...
lua 好象是开发游戏的吧 据说魔兽世界就是LUA做的哈?
-- by laitaogood -
luatcc 方便你写lua扩展
root@yfnix:~/tcc/lua-5.1.3/src# tcc -lm ...
-- by mryufeng -
LPeg Parsing Expression ...
mysql-proxy的作者jan用lpeg写了个mysql 的select语法 ...
-- by mryufeng -
高级服务器编程和p2p的PP ...
先支持下,
-- by onlyerlee






评论排行榜