当前位置: 首页 > news >正文

知名高端网站设计企业京东网上购物商城

知名高端网站设计企业,京东网上购物商城,中国建设招标网?官方网站,网站前台模板免费下载Arthas:Java调试利器使用 1. Arthas是什么2. Arthas可以解决什么问题Arthas启动方式1. jar启动2. 在线安装 远程连接命令使用- 退出threadclassloaderscsm watchtrace修改日志级别 1. Arthas是什么 Arthas(阿尔萨斯)是阿里开源的一个Java在线分析诊断工具. 2. Arthas可以解决…

Arthas:Java调试利器使用

    • 1. Arthas是什么
    • 2. Arthas可以解决什么问题
    • Arthas启动方式
      • 1. jar启动
      • 2. 在线安装
    • 远程连接
    • 命令使用
      • - 退出
      • thread
      • classloader
      • sc
      • sm
    • watch
      • trace
      • 修改日志级别

1. Arthas是什么

Arthas(阿尔萨斯)是阿里开源的一个Java在线分析诊断工具.

2. Arthas可以解决什么问题

  • 分析jar的加载和报错类的异常
  • 类的执行步骤
  • 线上出问题,没有打印日志,
  • 监控JVM的实时运行状态

Arthas启动方式

1. jar启动

wget https://alibaba.github.io/arthas/arthas-boot.jarjava -jar arthas-boot.jar --target-ip 0.0.0.0

使用arthas调试项目,项目服务必须要运行,arthas启动后会自动检测本地所有java服务并列出来,我们只需要按照序号输入想要调试的项目.

2. 在线安装

curl -L https://alibaba.github.io/arthas/install.sh | sh

执行上面的命令会在所在的文件中生成as.sh执行文件
启动

./as.sh PID #进程id 指定JAVA进程id

远程连接

使用Arthas服务的web console必须对外暴露本机地址(线上环境不推荐)

# --target-ip就是Arthas对外暴露的ip
java -jar arthas-boot.jar --target-ip 172.18.205.100
java -jar arthas-boot.jar --telnet-port 9999 --http-port -1./as.sh --target-ip 0.0.0.0
./as.sh --telnet-port 9999 --http-port -1

访问 172.18.205.100:9999,进入Arthas web控制台.
在这里插入图片描述

命令使用

- 退出

quit 退出当前arthas客户端
exit 通quit
stop 关闭Arthas服务端,所有客户端退出

thread

显示当前java进程的详细信息

# 展示所有的线程列表
thread
thread-all# cpu使用率采样修改为2s,默认为200ms
thread -i 2000# 打印出cpu使用率前5的线程详情,即比较繁忙的线程,cpu使用率采样统计方式请参考官方文档说明
thread -n 5# 打印id为5的线程详情
thread 5# 根据状态过滤线程数据(NEW, RUNNABLE, TIMED_WAITING, WAITING, BLOCKED, TERMINATED)
thread --state RUNNABLE
thread |grep RUNNABLE# 列出持有某个锁,阻塞其他线程最多的线程,排查死锁
thread -b

classloader

查看类的加载器信息

# 查看类加载器,及加载信息
classloader# 查看类加载器hash、parent信息
classloader -l# 查看类加载器之间的继承树
classloader -t# 列出所有类加载器及加载的类
classloader -a# 查看URLClassLoader实际的urls
classloader -c hashcode

sc

查看jvm中某个类的信息

# 模糊匹配类信息,支持正则表达式,如果是接口,还会列出所有的实现类
sc java.lang.String*# 模糊匹配类信息,限制最多匹配到的数量,默认100
sc java.lang.String* -n 2# 查看类详情信息
sc -d java.lang.String# 指定类加载器查看类信息
sc -c hashcode java.lang.String*# 查看类详情信息,包含field信息
sc -d -f java.lang.String

sm

查看jvm中类的方法

# 查看某个类下所有的方法信息
sm com.zlm.arthasdemo.controller.UController# 查看某个类下的某个方法信息
sm com.zlm.arthasdemo.controller.UController AllUser# 查看方法详情
sm -d com.zlm.arthasdemo.controller.UController AllUser# 指定类加载器查看类下某个方法的详细信息
sm -c hashcode -d com.zlm.arthasdemo.controller.UController AllUser

watch

查看方法的执行详情

# 限制观测执行次数
watch *UserController helloUser -n 2# 设置观测结果遍历深度
wathch *UserController helloUser -x 2# 只观测执行成功
watch *UserController helloUser -s# 只观测执行失败
watch *UserController helloUser -e# 同时观测方法执行前、方法执行后结果
watch *UserController helloUser -b -f# 观测方法执行异常时,详细的异常栈信息
watch *UserController helloUser '{throwExp}' -e -x 2# 观测方法执行时间大于200ms的信息
watch *UserController helloUser '#cost>100'

trace

查看方法内部调用路径,并输出方法路径1上的每个节点上耗时

# 观测方法内部调用顺序及耗时
trace com.zlm.arthasdemo.controller.UserController helloUser# 观测方法内部调用顺序及耗时,只观测3次
trace com.zlm.arthasdemo.controller.UserController helloUser -n 3# 观测方法内部调用顺序及耗时,包含jdk内部方法
trace com.zlm.arthasdemo.controller.UserController helloUser --skipJDKMethod false# 限制观测范围,第一个参数长度大于10
trace com.zlm.arthasdemo.controller.UserController helloUser params[0].length>=10# 限制观测范围,执行耗时大于100ms
trace com.zlm.arthasdemo.controller.UserController helloUser '#cost>100'# trace 同时多个类的多个方法
trace -E com.test.ClassA|org.test.ClassB method1|method2|method3

修改日志级别

# 查找到具体的类信息
sc -d *UserController# 使用ognl表达式查看日志属性的信息,判断日志级别
ognl -c classLoaderHash "@com.zlm.arthasdemo.controller.UserController@logger"# 使用ognl表达式修改日志级别
ognl -c classLoaderHash "@com.zlm.arthasdemo.controller.UserController@logger.setLevel(@ch.qos.logback.classic.Level@DEBUG)"# 再次查看日志级别,判断是否修改成功
ognl "@com.zlm.arthasdemo.controller.UserController@logger"# 修改全局日志级别
ognl -c classLoaderHash '@org.slf4j.LoggerFactory@getLogger("root").setLevel(@ch.qos.logback.classic.Level@DEBUG)'
http://www.yayakq.cn/news/538459/

相关文章:

  • 河南网站建设找哪家泰安人才网最新招聘信息
  • 个人兴趣图片集网站建设工业产品设计流程
  • 平台网站电子工程网络
  • 设计论坛最好的网站软件定制开发公司发展前景
  • 建设介绍网站廊坊seo整站优化软件
  • 公司注册一站式平台网站版面设计方案
  • 扁平化设计网站 国内网站密度
  • 刷粉网站推广传智黑马培训机构
  • 大型网站建设哪家服务好WordPress 编辑器修改默认字号
  • 淘宝网站开发要多久如何做公司自己的网站首页
  • 做网站的软件图标城乡建设厅网站首页
  • 怎样做单页销售网站物联网平台网站
  • 广州网站建设q.479185700強长沙专业建设网站企业
  • 内蒙古建设厅网站首页做网站工资多少钱
  • 什么不属于网站推广软件维纳斯式束腰Wordpress
  • o2o手机网站建设难如何用免费个人网站制作
  • 织梦博客网站模板网络营销是什么等综合因素促成
  • 微信公众号配置 网站建设wordpress主题怎么制作
  • 国外有哪些设计网站视觉传达设计主要学什么
  • 做个网站需要什么地狱少女通信网站怎么做
  • 怎么做百度网盘链接网站万盛集团网站建设
  • 我想做一个网站 不知道找谁做网站开发 兼职项目
  • 湖南长沙做网站南安市网站建设
  • 单县做网站wordpress清楚缓存
  • 四川网站建设设计公司北京网站关键词
  • 屏蔽网站推广html5响应式网页设计
  • 坪地网站建设包括哪些动漫设计和动漫制作技术的区别
  • 高新网站开发1年经验民权平台网站建设
  • 怎么做属于自己的免费网站网页布局设计图片
  • 做网站还需要兼容ie6吗网站完整模板