Arthas 3.1.2版本发布: 增加logger/heapdump/vmoption命令,支持tunnel server
Arthas
是Alibaba开源的Java诊断工具,深受开发者喜爱。
Github:https://github.com/alibaba/arthas
文档:https://alibaba.github.io/arthas
Arthas 3.1.2版本持续增加新特性,下面重点介绍:
logger/heapdump/vmoption/stop
命令通过tunnel server连接不同网络的arthas,方便统一管控
易用性持续提升:提示符修改为
arthas@pid
形式,支持ctrl + k
清屏快捷键
logger/heapdump/vmoption/stop命令
logger命令
查看logger信息,更新logger level
https://alibaba.github.io/arthas/logger.html
查看所有logger信息
以下面的logback.xml
为例:
<?xml version="1.0" encoding="UTF-8"?>
<configuration><appender name="APPLICATION" class="ch.qos.logback.core.rolling.RollingFileAppender"><file>app.log</file><rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy"><fileNamePattern>mylog-%d{yyyy-MM-dd}.%i.txt</fileNamePattern><maxFileSize>100MB</maxFileSize><maxHistory>60</maxHistory><totalSizeCap>2GB</totalSizeCap></rollingPolicy><encoder><pattern>%logger{35} - %msg%n</pattern></encoder></appender><appender name="ASYNC" class="ch.qos.logback.classic.AsyncAppender"><appender-ref ref="APPLICATION" /></appender><appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender"><encoder><pattern>%-4relative [%thread] %-5level %logger{35} - %msg %n</pattern><charset>utf8</charset></encoder></appender><root level="INFO"><appender-ref ref="CONSOLE" /><appender-ref ref="ASYNC" /></root>
</configuration>
使用logger
命令打印的结果是:
[arthas@2062]$ loggername ROOTclass ch.qos.logback.classic.LoggerclassLoader sun.misc.Launcher$AppClassLoader@2a139a55classLoaderHash 2a139a55level INFOeffectiveLevel INFOadditivity truecodeSource file:/Users/hengyunabc/.m2/repository/ch/qos/logback/logback-classic/1.2.3/logback-classic-1.2.3.jarappenders name CONSOLEclass ch.qos.logback.core.ConsoleAppenderclassLoader sun.misc.Launcher$AppClassLoader@2a139a55classLoaderHash 2a139a55target System.outname APPLICATIONclass ch.qos.logback.core.rolling.RollingFileAppenderclassLoader sun.misc.Launcher$AppClassLoader@2a139a55classLoaderHash 2a139a55file app.logname ASYNCclass ch.qos.logback.classic.AsyncAppenderclassLoader sun.misc.Launcher$AppClassLoader@2a139a55classLoaderHash 2a139a55appenderRef [APPLICATION]
从appenders
的信息里,可以看到
CONSOLE
logger的target是System.out
APPLICATION
logger是RollingFileAppender
,它的file是app.log
ASYNC
它的appenderRef
是APPLICATION
,即异步输出到文件里
查看指定名字的logger信息
[arthas@2062]$ logger -n org.springframework.webname org.springframework.webclass ch.qos.logback.classic.LoggerclassLoader sun.misc.Launcher$AppClassLoader@2a139a55classLoaderHash 2a139a55level nulleffectiveLevel INFOadditivity truecodeSource file:/Users/hengyunabc/.m2/repository/ch/qos/logback/logback-classic/1.2.3/logback-classic-1.2.3.jar
更新logger level
[arthas@2062]$ logger --name ROOT --level debug
update logger level success.
heapdump命令
dump java heap, 类似jmap命令的heap dump功能。
https://alibaba.github.io/arthas/heapdump.html
dump到指定文件
[arthas@58205]$ heapdump /tmp/dump.hprof
Dumping heap to /tmp/dump.hprof...
Heap dump file created
只dump live对象
[arthas@58205]$ heapdump --live /tmp/dump.hprof
Dumping heap to /tmp/dump.hprof...
Heap dump file created
vmoption命令
查看,更新VM诊断相关的参数
https://alibaba.github.io/arthas/vmoption.html
查看所有的option
[arthas@56963]$ vmoptionKEY VALUE ORIGIN WRITEABLE
---------------------------------------------------------------------------------------------HeapDumpBeforeFullGC false DEFAULT trueHeapDumpAfterFullGC false DEFAULT trueHeapDumpOnOutOfMemory false DEFAULT trueErrorHeapDumpPath DEFAULT trueCMSAbortablePrecleanW 100 DEFAULT trueaitMillisCMSWaitDuration 2000 DEFAULT trueCMSTriggerInterval -1 DEFAULT truePrintGC false DEFAULT truePrintGCDetails true MANAGEMENT truePrintGCDateStamps false DEFAULT truePrintGCTimeStamps false DEFAULT truePrintGCID false DEFAULT truePrintClassHistogramBe false DEFAULT trueforeFullGCPrintClassHistogramAf false DEFAULT trueterFullGCPrintClassHistogram false DEFAULT trueMinHeapFreeRatio 0 DEFAULT trueMaxHeapFreeRatio 100 DEFAULT truePrintConcurrentLocks false DEFAULT true
查看指定的option
[arthas@56963]$ vmoption PrintGCDetailsKEY VALUE ORIGIN WRITEABLE
---------------------------------------------------------------------------------------------PrintGCDetails false MANAGEMENT true
更新指定的option
[arthas@56963]$ vmoption PrintGCDetails true
Successfully updated the vm option.
PrintGCDetails=true
stop命令
之前有用户吐槽,不小心退出Arthas console之后,shutdown
会关闭系统,因此增加了stop
命令来退出arthas,功能和shutdown
命令一致。
通过tunnel server连接不同网络的arthas
https://alibaba.github.io/arthas/web-console.html
在新版本里,增加了arthas tunnel server的功能,用户可以通过tunnel server很方便连接不同网络里的arthas agent,适合做统一管控。
启动arthas时连接到tunnel server
在启动arthas,可以传递--tunnel-server
参数,比如:
as.sh --tunnel-server 'ws://47.75.156.201:7777/ws'
目前
47.75.156.201
是一个测试服务器,用户可以自己搭建arthas tunnel server
如果有特殊需求,可以通过
--agent-id
参数里指定agentId。默认情况下,会生成随机ID。
attach成功之后,会打印出agentId,比如:
,---. ,------. ,--------.,--. ,--. ,---. ,---./ O \ | .--. ''--. .--'| '--' | / O \ ' .-'
| .-. || '--'.' | | | .--. || .-. |`. `-.
| | | || |\ \ | | | | | || | | |.-' |
`--' `--'`--' '--' `--' `--' `--'`--' `--'`-----'wiki https://alibaba.github.io/arthas
tutorials https://alibaba.github.io/arthas/arthas-tutorials
version 3.1.2
pid 86183
time 2019-08-30 15:40:53
id URJZ5L48RPBR2ALI5K4V
如果是启动时没有连接到 tunnel server,也可以在后续自动重连成功之后,通过 session命令来获取 agentId:
[arthas@86183]$ sessionName Value
-----------------------------------------------------JAVA_PID 86183SESSION_ID f7273eb5-e7b0-4a00-bc5b-3fe55d741882AGENT_ID URJZ5L48RPBR2ALI5K4VTUNNEL_SERVER ws://47.75.156.201:7777/ws
以上面的为例,在浏览器里访问 http://47.75.156.201:8080/ ,输入 agentId
,就可以连接到本机上的arthas了。
Arthas tunnel server的工作原理
browser <-> arthas tunnel server <-> arthas tunnel client <-> arthas agent
https://github.com/alibaba/arthas/blob/master/tunnel-server/README.md
易用性持续提升
提示符修改为
arthas@pid
形式,用户可以确定当前进程ID,避免多个进程时误操作[arthas@86183]$ help
增加
ctrl + k
清屏快捷键
总结
总之,3.1.2
版本的Arthas新增加了logger/heapdump/vmoption/stop
命令,增加了tunnel server,方便统一管控。另外还有一些bug修复等,可以参考
Release Note: https://github.com/alibaba/arthas/releases/tag/3.1.2
最后,Arthas的在线教程考虑重新组织,欢迎大家参与,提出建议:
https://github.com/alibaba/arthas/issues/847
Arthas 3.1.2版本发布: 增加logger/heapdump/vmoption命令,支持tunnel server相关推荐
- Alibaba Arthas 3.1.2版本发布:增加logger/heapdump/vmoption命令,支持tunnel server
Arthas是Alibaba开源的Java诊断工具,深受开发者喜爱. Github: https://github.com/alibaba/arthas 文档:https://alibaba.gith ...
- Arthas 3.1.2 版本发布 | 增加 logger/heapdump/vmoption 命令
最近偶尔有用户反馈某些 HTTP 接口出现超时问题,而 web 服务端的 Trace 监控没有出现 http 返回值为 503 等异常情况.出现这种情况一般是web容器出现问题,客户端连 Arthas ...
- 阿里神器Arthas 3.1.2版本发布,新特性解读
Arthas是Alibaba开源的Java诊断工具,深受开发者喜爱. Github:https://github.com/alibaba/arthas 文档:https://alibaba.githu ...
- Java程序员的魔法杖-Arthas 3.1.2版本发布了
Arthas已经成为我日常运维.线上排查的必备之品,听说最近更新版本了,今天这篇文章看下又增加了什么新的能力. Arthas是Alibaba开源的Java诊断工具,深受开发者喜爱. Github:ht ...
- Alibaba 应用诊断利器 Arthas 3.0.5 版本发布:提升全平台用户体验
Arthas从9月份开源以来,受到广大Java开发者的支持,Github Star数三个月超过6000,非常感谢用户支持.同时用户给Arthas提出了很多建议,其中反映最多的是: Windows平台用 ...
- cola_os|cola_os(v1.2.0)版本发布增加国产单片机SWM181例程
一.前言 基于一段时间的优化cola os发布了1.2.0版本. 增加串口使用例程 优化任务管理 增加SWM181国产MCU例程 二.代码介绍 cola os说明 三.os代码 #ifndef _CO ...
- cyq.data mysql_CYQ.Data 轻量数据层之路 V4.3 版本发布[增加对SQLite,MySQL数据库的支持]...
前言: 继上一版本:CYQ.Data 轻量数据层之路 V4.0 版本发布,又过去一个来月了,不过也过了一个新年了. 由于过年原因,因此框架也没多折腾什么,只是年前年后顺路把sqlite,MysqL两种 ...
- Dubbo学习总结(10)——里程碑式 Dubbo 2.7.5 版本发布,性能提升30%,支持 HTTP/2、TLS、Protobuf等特性。
作者简介:刘军,GitHub账号Chickenlj,Apache Dubbo PMC,项目核心维护者,见证了Dubbo从重启开源到Apache毕业的整个流程.现任职阿里云云原生应用平台团队,参与服务框 ...
- Linux Deepin 12.12 正式版本发布--焕然一新,即可惊艳!
Linux Deepin 12.12 正式版本发布 Linux Deepin 12.12 正式版经过团队历时一年的精心打造,携带着 Linux Deepin 家族最新应用软件和全新 Linux 平台桌 ...
最新文章
- 关于javascript的keycode
- RunTime技术总结
- Hadoop安装的ssh免密码登录步骤
- 打造轻量化的View Controller
- 回馈粉丝,包邮送一台全新iPad
- windows10会中php病毒吗,win10发现病毒自动删除怎么办
- 系统启动与内核管理 ;AWK部分 重要内容 (实验及awk的常见面试题)
- JMetro版本11.5.11和8.5.11发布
- mysql32位的能装在64位的电脑上吗,mysql32位能装64位电脑【excle中怎么将log值变回原来的数据库】...
- linux编译内核的步骤
- ajax 解决csrf的3种方法,input标签的文件上传
- 页面查询条件选框被隐藏的问题
- 98五笔86五笔及五笔字型口诀字根表
- c语言中输入数组时用不用加地址符,C语言中,用格式符”%s”输入字符数组时,数组名前不能加。...
- 虚拟机NAT模式无法上网
- 《编程珠玑,字字珠玑》45678读书笔记——编程技巧
- 商标遭遇侵权,企业该如何反击?
- 大数据Hive 面试以及知识点
- 清华大学计算机系2016名单,关于电子系2016 级、2017 级本科生分流至微纳电子系学生名单公示...
- oracle采购业务流程,ORACLE EBS 采购的业务流程
热门文章
- 家庭版取消灰色勾选加密内容以便保护数据的方法
- 计算机课堂听课情况记录表模板,教师听课评课情况记录表范例及模板.doc
- 汇编语言L0C,单片机汇编语言指令查表.doc
- 共享Excel编辑的一些资源
- 前端基础-04-盒子模型
- 产学交流 | 重庆理工大学计算机科学与工程学院一行到访芝诺数据
- 量子信息-学习记录13
- 【路径规划】(2) A* 算法求解最短路,附python完整代码
- 王者荣耀 微信登录 服务器找不到,王者荣耀微信登录失败怎么办 王者荣耀微信登录失败解决办法...
- 啃碎并发(一):Java线程总述与概念