http://www.cnblogs.com/me-sa/archive/2012/04/28/2475556.html

Erlang Crash Dump Viewer真的是排错的天兵神器,还记得我们之前曾经讨论过[Erlang 0013]抓取Erlang进程运行时信息 [Erlang 0012]Erlang Process input queue ,下面是我梳理的"How to interpret the Erlang crash dumps"的文档;

很多人在问有什么工具可以打开crash_dump文件?或者分析crash_dump文件,其实相当简单,一句命令即可:

1
2
1> crashdump_viewer:start().
WebTool is available at http://localhost:8888/

  

Google Reader停了,YUNIO免费服务也停了,这年头没有什么服务是靠谱的,说停就停,下面的链接全是失效了,我重新上传了一份:

http://files.cnblogs.com/me-sa/Erlang_Crash_Dump.pdf

用recon的erl_crashdump_analyzer.sh使用方法如下:

项目地址:  https://github.com/ferd/recon/blob/master/script/erl_crashdump_analyzer.sh

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
$ ./recon/script/erl_crashdump_analyzer.sh erl_crash.dump
 analyzing erl_crash.dump, generated on: Thu Apr 17 18:34:53 2014
 Slogan: eheap_alloc: Cannot allocate 2733560184 bytes of memory
 (of type "old_heap").
 Memory:
 ===
 processes: 2912 Mb
 processes_used: 2912 Mb
 system: 8167 Mb
 atom: 0 Mb
 atom_used: 0 Mb
 binary: 3243 Mb
 code: 11 Mb
 ets: 4755 Mb
 ---
 total: 11079 Mb
 Different message queue lengths (5 largest differen t):
 ===
 1 5010932
 2 159
 5 158
 49 157
 4 156
 Error logger queue length:
 ===
 0
 File descriptors open:
 ===
 UDP: 0
 TCP: 19951
 Files: 2
 ---
 Total: 19953
 Number of processes:
 ===
 36496
 Processes Heap+Sta ck memo ry siz es (wor ds) us ed in the VM (5 largest
 different):
 ===
 1 284745853
 1 5157867
 1 4298223
 2 196650
 12 121536
 Processes OldHeap memory sizes (words) used in the VM (5 largest
 different):
 ===
 3 318187
 9 196650
 14 121536
 64 75113
 15 46422
 Process States when crashing (sum):
 ===
 1 Garbing
 74 Scheduled
 36421 Waiting
------------------------------------------------------------

  

官方地址是:http://www.erlang.org/doc/apps/erts/crash_dump.html

[Erlang 0057] Erlang 排错利器: Erlang Crash Dump Viewer的更多相关文章

  1. [Erlang 0128] Term sharing in Erlang/OTP 下篇

    继续昨天的话题,昨天提到io:format对数据共享的间接影响,如果是下面两种情况恐怕更容易成为"坑", 呃,恰好我都遇到过; 如果是测试代码是下面这样,得到的结果会是怎样?猜! ...

  2. [Erlang 0127] Term sharing in Erlang/OTP 上篇

    之前,在 [Erlang 0126] 我们读过的Erlang论文 提到过下面这篇论文: On Preserving Term Sharing in the Erlang Virtual Machine ...

  3. [Erlang 0117] 当我们谈论Erlang Maps时,我们谈论什么 Part 2

    声明:本文讨论的Erlang Maps是基于17.0-rc2,时间2014-3-4.后续Maps可能会出现语法或函数API上的有所调整,特此说明. 前情提要: [Erlang 0116] 当我们谈论E ...

  4. [Erlang 0116] 当我们谈论Erlang Maps时,我们谈论什么 Part 1

         Erlang 增加 Maps数据类型并不是很突然,因为这个提议已经进行了2~3年之久,只不过Joe Armstrong老爷子最近一篇文章Big changes to Erlang掀起不小了风 ...

  5. Erlang基础 -- 介绍 -- 历史及Erlang并发

    前言 最近在总结一些Erlang编程语言的基础知识,拟系统的介绍Erlang编程语言,从基础到进阶,然后再做Erlang编程语言有意思的库的分析. 其实,还是希望越来越多的人关注Erlang,使用Er ...

  6. 记录linux 生成crash dump文件步骤

    执行文件编译时加入-g 命令 例如 g++ -g test.cpp 查看当前系统限制情况 ulimit -a 设置crash dump 文件大小 ulimit -c unlimited unlimit ...

  7. [Erlang 0125] Know a little Erlang opcode

    Erlang源代码编译为beam文件,代码要经过一系列的过程(见下面的简图),Core Erlang之前已经简单介绍过了Core Erlang,代码转换为Core Erlang,就容易拨开一些语法糖的 ...

  8. [Erlang 0121] 当我们谈论Erlang Maps时,我们谈论什么 Part 3

    Erlang/OTP 17.0 has been released  http://www.erlang.org/download/otp_src_17.0.readme     Erlang/OTP ...

  9. [Erlang 0109] From Elixir to Erlang Code

    Elixir代码最终编译成为erlang代码,这个过程是怎样的?本文通过一个小测试做下探索.         编译一旦完成,你就看到了真相   Elixir代码组织方式一方面和Erlang一样才用非常 ...

随机推荐

  1. Node.js笔记 http fs

    const http=require('http'); const fs=require('fs'); var server = http.createServer(function(req, res ...

  2. MyCat中间件:读写分离(转)

    利用MyCat中间件实现读写分离 需要两步: 1.搭建MySQL主从复制环境 2.配置MyCat读写分离策略 一.搭建MySQL主从环境 参考上一篇博文:MySQL系列之七:主从复制 二.配置MyCa ...

  3. Ubuntu 12.04 64bit GCC交叉编译器制作 原创

                                                                                                        ...

  4. PHP模拟链表操作

    PHP模拟链表操作 一.总结 1.类成员用的是-> 2.对象节点相连的话,因为是对象,所以不用取地址符号 3.数组传递参数的时候传引用的方法 ,& 二.PHP模拟链表操作 代码一: /* ...

  5. python opencv —— io(帧、图像、视频的读取与保存)

    0. VideoCapture VideoCapture:构造函数: 常见成员函数: open:打开视频文件,或者捕获视频设备,该函数会首先调用 release() 函数以关闭已打开的文件或设备: P ...

  6. 【Codeforces Round #433 (Div. 2) C】Planning

    [链接]h在这里写链接 [题意] 让你确定ti,使得∑(ti-i)*gi最小,其中ti∈[k+1..k+n],且每个ti都不能一样. 且ti>=i必须成立. [题解] 分解一下成为∑ti*gi ...

  7. Java Timer TimerTask Example(java Timer的例子)

    Java java.util.Timer is a utility class that can be used to schedule a thread to be executed at cert ...

  8. [React Intl] Format a Date Relative to the Current Date Using react-intl FormattedRelative

    Given a date, we’ll use the react-intl FormattedRelative component to render a date in a human reada ...

  9. C语言深度剖析-----数组与指针分析

    数组的本质: 指针的运算: 小标VS指针: a和&a的区别: 例: 数组参数: 所以下例返回4 指针和数组的对比小结:

  10. Mac 环境下svn服务器的配置

    Mac 环境下svn服务器的配置 本文目录 • 一.创建代码仓库,用来存储客户端所上传的代码 • 二.配置svn的用户权限 • 三.使用svn客户端功能 在Windows环境中,我们一般使用Torto ...