【erlang】启动参数

一、系统运行参数(flags )

可通过 init:get_argument/1 获得

  1. -name ${NODE_NAME}
  2. -setcookie ${COOKIE}
  3. -pa ${SERVER_EBIN}
  4. -mnesia dir ${DB_DIR}
  5. -s StartMod StartFun
  6. env Key ${Val}
  7. -noinput
  8. -eval Expr (init flag)
  9. -meta_root MetaDir (make file time log db : ets_meta_config)
  10. -kernel dist_auto_connect never | once %连接节点
  11. -hidden %隐藏节点(避免节点间心跳包检查,造成网络风暴)
  12. -env ERL_CRASH_DUMP xxx/xxx.erl_dump %dump日志路径

二、模拟器参数(emulator flags)

  1. +K ture 是否启用的kernel的poll机制(默认为false),增加调度频率
  2. +A 100 异步进程数,为某些port调用服务,范围为0~1024(默认为10)
  3. +P 1024000 最大进程数(默认2^18)
  4. +Q 65535 最大port数
  5. +e 2000 最大ets数(默认1400)
  6. +sbt db 绑定调度器,让cpu负载均衡,避免大量跃迁
  7. +sub true 开启cpu负载均衡(false 则采用cpu密集调度策略)
  8. +spp true 开启并行port调度队列,增加系统吞吐量
  9. +smp false 调度器提前开启
  10. +swct eager cpu频繁唤醒,增加cpu利用率
  11. +swt very_hight | medium | low cpu唤醒时机
  12. +sbwt none 调度器休眠机制
  13. +zdbbl 204800 端口buffer大小
  14. -heart 开启erlang的心跳检测
  15. +t size 最大原子数(默认1048576)
  16. +S Max:Online 最大调度线程数和在线调度线程数

三、erlang启动过程

  1. erl_init 初始化 bif,export等erlang数据结构
  2. load_perloaded 预加载文件模块
  3. erl_first_process_opt 启动OTP架构
  4. SMP scheduler 启动过程(不一定开启)
  5. erts_sys_main_thread 启动系统主进程(可以指定启动进程数)
  6. erts_get_async_ready_queue (若开启了SMP,执行队列)
  7. emulator stack 设置仿真器大小
  8. emulator 启动仿真器
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值