erlang启动参数记录
不管在erlang的shell下还是脚本里,启动参数都是非常有用的,抽空儿整理下erlang的常用启动参数:
+A size 异步线程池的线程数,范围为0~1024,默认为10
+P Number|legacy 最大进程数,范围为1024-134217727 ,默认为 262144
+K true | false 是否启用的kernel的poll机制,默认为false
-config Config 加载指定的配置文件,config.config
-heart 开启erlang的心跳检测
这里细说下这个参数:% erl -heart ... 开启心跳监测,默认为60s;
还有一种是 % erl -heart -env HEART_BEAT_TIMEOUT 30 ... 如果这里添加 -env HEART_BEAT_TIMEOUT 30 参数,可修改心跳监测时间,范围为:10 < X <= 65535(s).
还有一个参数是:% erl -heart -env ERL_CRASH_DUMP_SECONDS (0、1、seconds)三种情况,用于分析dump文件.
-name Name 运行分布式节点名
-setcookie Cookie 在一个分布式集群中,不同节点间设置同一个cookie,保证节点互联
-boot File 用来启动系统,一般设置为start_sasl
-env Variable Value 用来设置宿主系统环境变量
+W w | i 设置error_logger的告警信息,+W w 为waring +W i 为info report
+e Number 设置最大ets表数量 没有设置默认1400 可设置 ERL_MAX_ETS_TABLES,用 -env ERL_MAX_ETS_TABLES
-pa Dir1 Dir2 ... 添加指定代码目录由开始代码的路径 ,如:code:add_pathsa/1
-pz Dir1 Dir2 ... 添加指定的目录的代码路径的末端 ,如:code:pathsz/1
-remsh Node 启动远程节点
## Increase number of concurrent ports/sockets
-env ERL_MAX_PORTS 4096
## Tweak GC to run more often
-env ERL_FULLSWEEP_AFTER 10
-env ERL_MAX_ETS_TABLES 200000
18904086003
+sbt db
+sub true %% R17版本之后,调度器测量 (多核平均分配cpu)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
erlang 默认启动参数更多的是针对电信平台实时特性,简单调整参数能很大程度降低CPU消耗,提高处理能力。
1. 关闭spin_wait
设置参数:+sbwt none
erlang 调度器CPU利用率低排查,关闭spin_wait 可能增加了调度器需要唤醒延时。
关闭后CPU 基本能够简单30%以上,且几乎没有任何副作用,调度器唤醒微妙级,延时可忽略。
2. 调度器唤醒策略
默认设置:+swt medium
默认设置下,长时间运行后部分node运行进入一种非正常状态,如:不管高峰还是低峰,cpu 200%一条直线,且在高峰期间处理不过来,造成timeout,
也就是说,除了前两个调度器,后面的调度器都睡死了,业务大量堆积也无法唤醒。
解决方案:
1. 定时维护性重启,当然业务允许的话,对于类似长连接服务就不行了
2. 调整:+swt low (whatsapp ppt 中提到),CPU占用稍高
3. 使用R17 +sub true,保证每个调度器业务平均
当然: +swt very_high 能够再次降低30%+ 的cpu
同时也很大程度增加 调度器睡死的几率,会不会睡死看业务服务状态,可以观察,对性能提升还是很有帮助的。
erlang启动参数记录的更多相关文章
- erlang启动参数
出自: http://blog.sina.com.cn/s/blog_96b8a154010123cc.html
- java虚拟机启动参数分类详解
官方文档见: http://docs.sun.com/source/819-0084/pt_tuningjava.html java启动参数共分为三类:其一是标准参数(-),所有的JVM实现都必须实现 ...
- linux内核启动参数
Linux内核启动参数 Console Options 参数 说明 选项 内核配置/文件 console=Options 用于说明输出设备 tt ...
- JVM启动参数手册——JVM之八
jdk1.4.2 JVM官方地址:http://java.sun.com/j2se/1.4.2/docs/guide/vm/index.html 标准和非标注参数(for windows):http: ...
- Eclipse 配置Tomcat启动参数 Java EE IDE for Web Developers. Version: Helios Service Release 2
因为在开发的过程中出现了PerGen Space.所以需要修改Tomcat的启动参数,郁闷的事情是公司不使用盗版,因此离开了熟悉的一塌糊涂的MyEclipse界面还真的找不到配置Tomat启动参数的地 ...
- java虚拟机启动参数整理
java启动参数 共分为三类其一是标准参数(-),所有的JVM实现都必须实现这些参数的功能,而且向后兼容:其二是非标准参数(-X),默认jvm实现这些参数的功能,但是并不保证所有jvm实现都满足,且不 ...
- JVM常用启动参数
本文参考 jvm参数设置大全:http://www.cnblogs.com/marcotan/p/4256885.html 堆内存分配及gc:http://www.cnblogs.com/weiguo ...
- JVM 启动参数及原理 转
Java虚拟机(JVM)是Java应用的运行环境,从一般意义上来讲,JVM是通过规范来定义的一个虚拟的计算机,被设计用来解释执行从Java源码编译而来的字节码.更通俗地说,JVM是指对这个规范的具体实 ...
- JVM启动参数大全
java启动参数共分为三类: 其一是标准参数(-),所有的JVM实现都必须实现这些参数的功能,而且向后兼容: 其二是非标准参数(-X),默认jvm实现这些参数的功能,但是并不保证所有jvm实现都满足, ...
随机推荐
- 【CF675E】Trains and Statistic(贪心,DP,线段树优化)
题意:a[i]表示从第i个车站可以一张票到第[i+1,a[i]]这些车站;p[i][j]表示从第i个车站到第j个车站的最少的票数,现在要求∑dp[i][j](1<=i<=n,i<j& ...
- touch上滑加载
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- CodeForces 141E: ...(最小生成树)
[条件转换] 两两之间有且只有一条简单路径<==>树 题意:一个图中有两种边,求一棵生成树,使得这棵树中的两种边数量相等. 思路: 可以证明,当边的权是0或1时,可以生成最小生成树到最大生 ...
- C#读取Excel 几种方法的体会
(1) OleDb: 用这种方法读取Excel速度还是非常的快的,但这种方式读取数据的时候不太灵活,不过可以在 DataTable 中对数据进行一些删减修改 这种方式将Excel作为一个数据源,直接用 ...
- js 版本号比较方
function compareVersion(v1, v2) { v1 = v1.split('.') v2 = v2.split('.') const len = Math.max(v1.leng ...
- POJ 3268 Silver Cow Party 最短路
原题链接:http://poj.org/problem?id=3268 Silver Cow Party Time Limit: 2000MS Memory Limit: 65536K Total ...
- emacs 打开文件乱码
emacs在win下写的文件在linux打开乱码 M-x set-language-environment RET chinese-gb 改变当前编码 用当前编码重新打开 M-x rever ...
- SQL SERVER 跟踪调优书籍
SQLServer监控和诊断 SQL SERVER 性能优化的艺术
- GridControl 校验输入单元格格式 z
// 对应的校验行事件,ValidateRow private void gv_FeeItem_ValidateRow(object sender, DevExpress.XtraGrid.Views ...
- xamarin.android pullToRefresharp.Android下拉刷新样式、侧滑删除功能
如果你正则使用xamarin.From开发项目,那么listview一定是你比不可少的控件.但是由于xamarin的listview在安卓上的功能有限,所以经常需要使用Renderers来改写平台实现 ...