beam 模拟器有3种
1. beam 默认的
2. beam.smp 支持多处理器的
3. beam.hybrid 支持混合堆的
我们允许erl的时候 在linux下实际运行的是shell脚本
#!/bin/sh
ROOTDIR=/usr/local/lib/erlang
BINDIR=$ROOTDIR/erts-5.5.5/bin
EMU=beam
PROGNAME=`echo $0 | sed 's/.*\///'`
export EMU
export ROOTDIR
export BINDIR
export PROGNAME
exec $BINDIR/erlexec ${1+"$@"}
这个脚本给erlexec 设置写必须的环境变量 具体调用那个模拟器是在erlexec里面根据 参数区分 -smp -hybrid来分别调用不同
的beam
Note: beam.smp主线程的的poll 是select 而不是我们想要的epoll, 是因为主线程的select实际上只是等待中断 没有其他的事情可做。
1. beam 默认的
2. beam.smp 支持多处理器的
3. beam.hybrid 支持混合堆的
我们允许erl的时候 在linux下实际运行的是shell脚本
#!/bin/sh
ROOTDIR=/usr/local/lib/erlang
BINDIR=$ROOTDIR/erts-5.5.5/bin
EMU=beam
PROGNAME=`echo $0 | sed 's/.*\///'`
export EMU
export ROOTDIR
export BINDIR
export PROGNAME
exec $BINDIR/erlexec ${1+"$@"}
这个脚本给erlexec 设置写必须的环境变量 具体调用那个模拟器是在erlexec里面根据 参数区分 -smp -hybrid来分别调用不同
的beam
Note: beam.smp主线程的的poll 是select 而不是我们想要的epoll, 是因为主线程的select实际上只是等待中断 没有其他的事情可做。
本文介绍了Erlang运行环境中三种不同的beam模拟器:默认的beam、支持多处理器的beam.smp以及支持混合堆的beam.hybrid。文章还详细解释了在Linux环境下如何通过shell脚本设置必要的环境变量,并调用不同模拟器的方法。
825

被折叠的 条评论
为什么被折叠?



