erlang 关于erlang:小心使用erlang的monitor 要从一次线上的内存透露说起. 最终定位到在异步send办法中, monitor了被调用过程, 而又没有开释, 导致透露. 违反直觉的是, 这个透露是双向的, A monitor B后, A会记录 monitors B, B会记录 monitored_by A. 过程A退出后, 过程B不会开释 monitored_by A. 所以, 在应用monitor时, 留神在任何状况下, 都要demonitor.
erlang 关于erlang:最简洁的Erlang基础 Erlang读音/ˈɜːrlæŋ/。第一次见到的时候总感觉怎么读都读不对,起初在维基上看到Erlang标注了音标,能力精确的读出来,而且也没那么怪异。因为工作才有机会接触这门语言,也因而只有三天的工夫能够看《Erlang程序设计》这本书。学习这门语言的时候带着一个工作指标:把一个Erlang日志收集剖析统计的代码转换成Python的。…
erlang 关于erlang:从erlang-otp21-升级-otp23-遇到的坑 最近将erlang从otp21.3.8.17降级至最新的otp23.1. 遇到了两个编译不告警, 但版本前后语义不统一, 且在changelist中未提及的问题. 在此做个记录.
erlang 关于erlang:使用fprof-profile-erlang 概述不谈profile tools的重要性. erlang profile肯定要看看上面这篇.[链接]这篇blog记录一些实操.步骤fprof采集数据在程序中, 或者间接remote_console触发采集. {代码…} 不传递参数状况下, 默认会将fprof信息写入fprof.trace文件.应用kcachegrind 查看fprof的后果应用erlgrind转化为callgrind格局 {代码…} 装置kcach…
erlang 使用mnesia在节点间共享内存 有很多场景需要在一系列节点间共享内存数据. 如, 有一系列水平对等的网关, 可以在任意网关节点上拿到所有网关的特定内存信息. 一般的做法是使用zookeeper, etcd等提供了分布式一致性保证的服务. 使用zookeeper, etcd做节点间的数据同步当然没有问题. 但是:
无分类 一个erlang-nif野指针的追踪过程 概述 最近半年, 经常出现一些奇怪的bug. CPU非常高, 但etop并没有red特别高的进程. 内存占用非常高, 和etop看到的内存不吻合. coredump. 因为erlang层面无法定位问题, 那问题只能在c了. BUG现场 cpu %100 ErtsRunQueue被写坏 {代码…} {代码…} AOFF_RBTree_t被写坏. rb_tree存在环. {代码…} {代码…} memory leak …
javascript 区块链游戏开发道路是否好走 最近,区块链一词已经是成为人们谈论的话题了,区块链开发技术也逐渐进入到人们的生活之中。游戏是区块链开发技术最佳的应用落地场景之一,很多区块链创业者会从区块链游戏出发慢慢深入区块链领域,希望能在这样一个新兴的行业中,得到自己的成就,区块链游戏的发展已经是很多年了,现在还是处于稚嫩期,那么,区块链游…
无分类 elixirerlang内存泄漏排查 对服务端程序来说, 内存泄漏是经常会面临的问题. 使用erlang的情况下, 不用程序员手动管理内存. 如果不写c driver, 一般的内存问题还是很容易定位的. 这篇blog对常见的内存泄漏类型, 排查手段做个小结.