erlang调试技术之etop
etop是erlang进程信息查看工具,类似于UNIX的top.
一、配置参数
- node
- The measured node.
Value: atom()
Mandatory - setcookie
- Cookie to use for the etop node - must be the same
as the cookie on the measured node.
Value: atom() - lines
- Number of lines (processes) to display.
Value: integer()
Default: 10 - interval
- The time interval (in seconds) between each update of
the display.
Value: integer()
Default: 5 - accumulate
- If true the execution time and reductions are
accumulated.
Value: boolean()
Default: false - sort
- Identifies what information to sort by.
Value: runtime | reductions | memory | msg_q
Default: runtime (reductions if
tracing=off) - tracing
-
etop uses the erlang trace facility, and thus no
other tracing is possible on the measured node while
etop is running, unless this option is set to
off. Also helpful if the etop tracing causes too
high load on the measured node. With tracing off, runtime is
not measured.
Value: on | off
Default: on
二、EXPORTS
start() -> ok
This function starts etop. Note that etop is preferably started with the etop and getop scripts
start(Options) -> ok
Types:
This function starts etop. Use
help/0 to see a
description of the possible options.
help() -> ok
This function prints the help of etop and
its options.
config(Key,Value) -> Result
Types:
This function is used to change the tool's configuration
parameters during runtime. The table above indicates the
allowed values for each parameter.
dump(File) -> Result
Types:
This function dumps the current display to a text file.
stop() -> stop
This function terminates etop.
三、实例
1、启动etop监控远程节点
erl -sname aa -remsh remote@domain
etop:start([{output,text},{lines,10},{sort,reductions},{accumulations,true},{interval,10}]).
或者etop -sname local@domain -lines 10 -sort reductions -accumulations true -interval 10 -setcookie remotecookie -remsh remote@domain(系统shell下执行)
- ========================================================================================
- 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
- ========================================================================================
2、修改配置参数
- etop:config(lines, 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
- ========================================================================================
erlang调试技术之etop的更多相关文章
- linux内核调试技术之printk
原创博客:欢迎转载,转载请注明出处https://i.cnblogs.com/EditPosts.aspx?postid=6218383 1.简介(基于s3c2440 linux) 在内核调试技术之中 ...
- 反调试技术常用API,用来对付检测od和自动退出程序
在调试一些病毒程序的时候,可能会碰到一些反调试技术,也就是说,被调试的程序可以检测到自己是否被调试器附加了,如果探知自己正在被调试,肯定是有人试图反汇编啦之类的方法破解自己.为了了解如何破解反调试技术 ...
- 嵌入式Linux的调试技术
本节我们研究嵌入式Linux的调试技术,对于复杂的Linux驱动及HAL等程序库,需要使用各种方法对其进行调试.刚开始讲了打印内核调试信息:printk,这个函数的用法与printf函数类似,只不过p ...
- 第十章 嵌入式Linux的调试技术
对调试工具进行简介.Linux中提供了一类工具,通过这些工具可以逐行跟踪程序的代码,用于测试用户空间程序的gdb.gdbserver和调试内核空间程序的kgdb. 用gdb调试用户空间程序:gdb可跟 ...
- paip. 调试技术打印堆栈 uapi print stack java php python 总结.
paip. 调试技术打印堆栈 uapi print stack java php python 总结. 作者Attilax 艾龙, EMAIL:1466519819@qq.com 来源:attil ...
- 【转】Linux Shell脚本调试技术
本文转载自:https://www.ibm.com/developerworks/cn/linux/l-cn-shell-debug/ Shell脚本调试技术 本文全面系统地介绍了shell脚本调试技 ...
- shell脚本调试技术_转
转自:http://itlab.idcquan.com/linux/SHELL/727128.html 参考:https://linux.cn/article-8045-1.html 本文全面系统地介 ...
- Linux驱动设计—— 驱动调试技术
参考博客与书籍: <Linux设备驱动开发详解> <Linux设备驱动程序> http://blog.chinaunix.net/uid-24219701-id-2884942 ...
- QT核心编程之调试技术 (g)
Qt应用程序的调试可以通过DDD进行跟踪调试和打印各种调试或警告信息.DDD(Data Display Debugger)是使用gdb调试工具的图形工具,它安装在Linux操作系统中,使用方法可参考D ...
随机推荐
- easy-ui 有依赖关系的下拉列表(省市区县)
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- .net XML操作
一.常规介绍 //初始化一个xml对象 XmlDocument xml = new XmlDocument(); //加载xml文件 xml.Load("文件路径"); //读取指 ...
- EasyUI Messager 消息框
通过 $.messager.defaults 重写默认的 defaults. 消息框(messager)提供不同样式的消息框,包括警示(alert).确认(confirm).提示(prompt).进展 ...
- webkit框架的使用
// // JSViewController.m // Library // // Created by 朱逸 on 16/7/7. // Copyright © 2016年 朱逸. All righ ...
- php 问答
1,如何设置长生命期的session ? 将 session.cookie_lifetime ,session.gc_maxlifetime 的时间设置长一点. 2,为什么初始化session的时候报 ...
- 6、iOS快速枚举
今天在写程序的时候想在当前视图跳转的时候释放掉当前视图上面add的一些子视图.因为add的子视图有些是在别的类里面add进来的,当前页面不知道自己当前有哪几个类型的子视图.这样,我就想到了用循环遍历来 ...
- Request for the permission of type异常
调用wcf调用的时候引发一个错误,错误信息如下: <Message>Request for the permission of type 'System.Configuration.Con ...
- python 学习 设计模式(goF设计模式)
一 单例模式 用来创建单个实例 #/usr/bin/env python3 # -*- coding:utf-8 -*- # Author: ZSHAOX class Foo: instance = ...
- 浅谈C#委托和事件
委托给了C#操作函数的灵活性,我们可使用委托像操作变量一样来操作函数,其实这个功能并不是C#的首创,早在C++时代就有函数指针这一说法,而在我看来委托就是C#的函数指针,首先先简要的介绍一下委托的基本 ...
- ZeroMQ中PUB-SUB模式测试
因为公司有需求,对程序模块之间通信效率有较高的需求.之前公司用的通信组件是ActiveMQ,根据网上公布的测试结果显示其效率比较低, 后来考虑准备在新的项目中开始使用ZeroMQ.看了几天发现用起来比 ...