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实际上只是等待中断 没有其他的事情可做。