使用etop工具监测Erlang运行环境
来源:互联网 发布:xp自动修复软件 编辑:程序博客网 时间:2024/05/17 12:56
Erlang提供了一个小工具 etop (Erlang top), 用来查看Erlang运行环境中,内存,ets,binary,进程等相关信息。
这些被收集的信息大部分是通过erlang module的相关bif输出,etop只是做了一个好的展现。
etop位于: erlang/lib/observer-xxx/priv/bin 目录下, etop为CLI,getop为GUI表现,在windows下也可以通过调用etop.bat和getop.bat显示相关信息.
下面是用法:
./etop Args
Args:
node
被监控的Node Value: atom()
Mandatory setcookie etop节点的Cookie,必须和被监控节点的Cookie一致
Value: atom() lines 显示多少行Process相关信息
Value: integer()
Default: 10 interval 刷新频率(秒)
Value: integer()
Default: 5 accumulate 数据是否以累加方式显示
Value: boolean()
Default: false sort Process排序依据
Value: runtime | reductions | memory | msg_q
Default: runtime (reductions if tracing=off ) tracing etop使用trace机制进行执行时间的检测,当为on时,可以显示runtime,这样作增加了系统负载. 当为off时,无法显示runtime
Value: on | off
Default: on
例子:
./etop -node xxxxx@127.0.0.1 -setcookie dzhz -lines 5 -sort memory -interval 5 -accumulate true -tracing on
显示信息如下:
========================================================================================
xxxxx@127.0.0.1' 04:42:04
Load: cpu 0 Memory: total 240999 binary 2071
procs 121 processes 42729 code 10677
runq 0 atom 1035 ets 159019
Pid Name or Initial Func Time Reds Memory MsgQ Current Function
----------------------------------------------------------------------------------------
<5195.125.0> proc_lib:init_p/5 6705********19372496 0 gen_server:loop/6
<5195.121.0> mod_kernel 013720369 7628400 0 gen_server:loop/6
<5195.47.0> application_master:s 0 1031136 1802472 0 application_master:l
<5195.126.0> proc_lib:init_p/5 11297******** 831304 0 gen_server:loop/6
<5195.145.0> proc_lib:init_p/5 13493******** 743576 0 gen_server:loop/6
========================================================================================
其中Memory单位为KB
从etop的Shell文件里面-sname可以看出:etop默认启动短名字的节点名,如果你要监测的节点使用长节点名命名的,那么Shell需做如下更改:
Linux版本:
#!/bin/sh
NAME="etop@127.0.0.1"
erl -name $NAME -hidden -s etop -s erlang halt -output text $@
Windows版本:
@ECHO OFF
CALL werl -name etop@127.0.0.1 -hidden -s etop -s erlang halt -output text %*
另外一种启动etop的方式:在节点shell上spwan一个进程,调用etop:start/1
spawn(fun() -> etop:start([{output, text}, {interval, 5}, {lines, 20}, {sort, memory}]) end).
停止etop的方法:
etop:stop().
- 使用etop工具监测Erlang运行环境
- Erlang ETop输出结果格式说明
- 使用ScopeGuard在运行环境中监测内部变量
- 服务器运行资源监测工具
- 使用监测工具进行检查
- iotop监测工具的使用
- 监测redis服务器运行情况 哨兵工具
- Erlang Debugger工具的使用
- erlang开发环境及开发工具配置
- erlang开发环境及开发工具配置
- windows下使用IntelliJ IDEA的erlang编译环境搭建(含rebar工具)
- nmon工具使用-监测Linux系统资源
- 使用eclipse快速搭建erlang开发环境
- 使用IntelliJ IDEA配置Erlang开发环境
- 使用IntelliJ IDEA配置Erlang开发环境
- android 内存监测工具 DDMS 和mat 工具使用
- Erlang安装 /开启关闭 /配置开发环境 /运行程序
- erlang开发环境及开发工具配置(转)
- SecureCRT上传和下载文件(下载默认目录)
- 内核模块基础
- 揭秘:房事怎么做最养人?
- 自定义UITableViewCell上的delete按钮
- 'Sys._Application' cannot be converted to type 'Sys._Application' 错误
- 使用etop工具监测Erlang运行环境
- 你的代码值多少钱 ?你算过吗
- frameset和iframe的区别
- IOS UITableView下拉刷新
- Js中的window.parent ,window.top,window.self 详解
- Unity资源工作流程(Asset Workflow)
- Yahoo! UI Library (YUI)
- 内核链表基础
- (精华)Ring3与Ring0通信方法若干