Erlang 20参考手册
observer
4. Erlang Top
4.1介绍
Erlang Top,etop是一个用于呈现有关Erlang进程的信息的工具,类似于topUNIX中提供的信息。
4.2开始
以下列任何一种方式启动ErlangTop:
- 使用脚本etop。
- 
etop.bat例如,使用批处理文件etop -node tiger@durin。
4.3输出
ErlangTop的输出如下:
========================================================================================
 tiger@durin                                                               13:40:32
 Load:  cpu         0               Memory:  total        1997    binary         33
        procs     197                        processes       0    code          173
        runq      135                        atom         1002    ets            95
Pid            Name or Initial Func    Time    Reds  Memory    MsgQ Current Function
----------------------------------------------------------------------------------------
<127.23.0>     code_server                0   59585   78064       0 gen_server:loop/6   
<127.21.0>     file_server_2              0   36380   44276       0 gen_server:loop/6   
<127.2.0>      erl_prim_loader            0   27962    3740       0 erl_prim_loader:loop
<127.9.0>      kernel_sup                 0    6998    4676       0 gen_server:loop/6   
<127.17.0>     net_kernel                62    6018    3136       0 gen_server:loop/6   
<127.0.0>      init                       0    4156    4352       0 init:loop/1         
<127.16.0>     auth                       0    1765    1264       0 gen_server:loop/6   
<127.18.0>     inet_tcp_dist:accept       0     660    1416       0 prim_inet:accept0/2 
<127.5.0>      application_controll       0     569    6756       0 gen_server:loop/6   
<127.137.0>    net_kernel:do_spawn_       0     553    5840       0 dbg:do_relay_1/1    
========================================================================================
    标题包括一些系统信息:
Loadcpu
Runtime/Wallclock,即节点活动时间的百分比。
procs
节点上的进程数。
runq
可以运行的进程数。
Memory
节点分配的内存(以千字节为单位)。
为每个过程提供了下列信息:
Time
进程的运行时,即进程已排定的时间。
Reds
在此过程中执行的削减数。
Memory
进程的大小,以字节为单位,通过调用获得process_info(Pid,memory)。
MsgQ
进程的消息队列长度。
注
Time和Reds可以显示为累计值或自上次更新以来的值。
4.4配置
所有配置参数都可以在开始时通过添加-OptName Value到命令行来设置,例如:
% etop -node tiger@durin -setcookie mycookie -lines 15模块中提供了所有有效的Erlang Top配置参数的列表etop。
参数lines,interval,accumulate,并且sort可以用功能运行时改变etop:config/2。
例子:
改变配置参数lines基于文本的演示文稿。在修改之前,10行如下:
========================================================================================
 tiger@durin                                                               10:12:39
 Load:  cpu         0               Memory:  total        1858    binary         33
        procs     191                        processes       0    code          173
        runq        2                        atom         1002    ets            95
Pid            Name or Initial Func    Time    Reds  Memory    MsgQ Current Function
----------------------------------------------------------------------------------------
<127.23.0>     code_server                0   60350   71176       0 gen_server:loop/6   
<127.21.0>     file_server_2              0   36380   44276       0 gen_server:loop/6   
<127.2.0>      erl_prim_loader            0   27962    3740       0 erl_prim_loader:loop
<127.17.0>     net_kernel                 0   13808    3916       0 gen_server:loop/6   
<127.9.0>      kernel_sup                 0    6998    4676       0 gen_server:loop/6   
<127.0.0>      init                       0    4156    4352       0 init:loop/1         
<127.18.0>     inet_tcp_dist:accept       0    2196    1416       0 prim_inet:accept0/2 
<127.16.0>     auth                       0    1893    1264       0 gen_server:loop/6   
<127.43.0>     ddll_server                0     582    3744       0 gen_server:loop/6   
<127.5.0>      application_controll       0     569    6756       0 gen_server:loop/6   
========================================================================================      etop:config/2调用函数将显示的行数改为5:
> etop:config(lines,5).
ok更改后,5行显示如下:
(etop@durin)2> 
========================================================================================
 tiger@durin                                                               10:12:44
 Load:  cpu         0               Memory:  total        1859    binary         33
        procs     192                        processes       0    code          173
        runq        2                        atom         1002    ets            95
Pid            Name or Initial Func    Time    Reds  Memory    MsgQ Current Function
----------------------------------------------------------------------------------------
<127.17.0>     net_kernel               183      70    4092       0 gen_server:loop/6   
<127.335.0>    inet_tcp_dist:do_acc     141      22    1856       0 dist_util:con_loop/9
<127.19.0>     net_kernel:ticker/2      155       6    1244       0 net_kernel:ticker1/2
<127.341.0>    net_kernel:do_spawn_       0       0    5840       0 dbg:do_relay_1/1    
<127.43.0>     ddll_server                0       0    3744       0 gen_server:loop/6   
========================================================================================
      4.5打印到文件
在任何时候,当前的Erlang Top显示器都可以转储到带有功能的文本文件中etop:dump/1。
4.6 Stop
要停止Erlang Top,请使用函数etop:stop/0。
observer相关
 
                                Erlang 是一种通用的面向并发的编程语言,可应付大规模开发活动的程序设计语言和运行环境。
| 主页 | https://www.erlang.org/ | 
| 源码 | https://github.com/erlang/otp | 
| 版本 | 20 | 
| 发布版本 | 20.1 | 
 
         加载中,请稍侯......
 加载中,请稍侯......