- 标签
- erlang
- 标签动态
Erlang是一种通用的面向并发的编程语言,它由瑞典电信设备制造商爱立信所辖的CS-Lab开发,目的是创造一种可以应对大规模并发活动的编程语言和运行环境。[ 百科 ]
配置 ejabberd_http导出 mod_http_api handler {代码...} api 权限无权限配置 who 配置成 all {代码...} 只允许localhost访问 {代码...} 一些api需要配置 mod_admin_extra 才能使用,比如 send_message {代码...}...
要从一次线上的内存泄漏说起. 最终定位到在异步send方法中, monitor了被调用进程, 而又没有释放, 导致泄漏. 违反直觉的是, 这个泄漏是双向的, A monitor B后, A会记录 monitors B, B会记录 monitored_by A. 进程A...
Erlang读音/ˈɜːrlæŋ/。第一次见到的时候总感觉怎么读都读不对,后来在维基上看到Erlang标注了音标,才能准确的读出来,而且也没那么怪异。因为工作才有机会接触这门语言,也因此只有三天的时间可以看《Erlang程序...
最近将erlang从otp21.3.8.17升级至最新的otp23.1. 遇到了两个编译不告警, 但版本前后语义不一致, 且在changelist中未提及的问题. 在此做个记录.
概述不谈profile tools的重要性. erlang profile一定要看看下面这篇.[链接]这篇blog记录一些实操.步骤fprof采集数据在程序中, 或者直接remote_console触发采集. {代码...} 不传递参数情况下, 默认会将fprof信息写...
有很多场景需要在一系列节点间共享内存数据. 如, 有一系列水平对等的网关, 可以在任意网关节点上拿到所有网关的特定内存信息. 一般的做法是使用zookeeper, etcd等提供了分布式一致性保证的服务. 使用zookeeper, e...
概述线上发现http client偶有非常长的超时. 于是深挖一下erlang httpc 的超时.httpc request 耗时一个http请求耗时包含如下部分创建链接(若没有可用的链接)发送/等待返回在erlang httpc中由如下两个参数控制:time...
最近打算下定决心学习使用erlang, 不过我有点不习惯在erlang shell和vim之间来回切换。 想了想,干脆优化一下这个重复的过程吧。就像我配置了python的执行快捷键一样,每次只要按下F6, 就会执行当前编辑的python...
概述 最近半年, 经常出现一些奇怪的bug. CPU非常高, 但etop并没有red特别高的进程. 内存占用非常高, 和etop看到的内存不吻合. coredump. 因为erlang层面无法定位问题, 那问题只能在c了. BUG现场 cpu %100 ErtsRun...
bug回顾 bug_fix 时间线 x月x日 10:00 x_service 内存开始快速上涨 x月x日 10:18 用户报告x_service内存飞速上涨. x月x日 10:20 平台mongodb因内存不足重启 x月x日 10:22 重启x_service x月x日 11:00 x_service内...
对服务端程序来说, 内存泄漏是经常会面临的问题. 使用erlang的情况下, 不用程序员手动管理内存. 如果不写c driver, 一般的内存问题还是很容易定位的. 这篇blog对常见的内存泄漏类型, 排查手段做个小结.
gen_server call timeout erlang的gen_server call默认有超时, 若在指定的超时内没有收到返回. 则会exit(timeout). gen_server call gen.erl:160 {代码...} 什么时候应该捕获timeout? 显然, 如果等待一段时间后, ...
在安装mysql/mongodb/redis/nodejs/python等这些环境中,RabbitMQ无疑是让我最不顺畅的一次体验,其安装方法之多,下载之前要去搞什么签名验证,网上教程写的半年以前的写法,也不太管用了,我就记录下这次的安装...