首页 > 系统相关 >Java诊断工具Arthas,Centos7下部署使用

Java诊断工具Arthas,Centos7下部署使用

时间:2022-12-08 20:02:41浏览次数:38  
标签:Java thread Centos7 命令 内存 Arthas 加载


Arthas 是Alibaba开源的Java诊断工具,深受开发者喜爱。在线排查问题,无需重启;动态跟踪Java代码;实时监控JVM状态。


1.下载:

wget https://alibaba.github.io/arthas/arthas-boot.jar

Java诊断工具Arthas,Centos7下部署使用_Java

2.启动:

java -jar arthas-boot.jar

运行Arthas,第三行开始会显示一个列表,输入列表里需要监听的JAVA进程对应的数字(想进如第三个进程,就输入3,回车。),会自动进入Arthas交互命令行.

Java诊断工具Arthas,Centos7下部署使用_Java_02

3.进入Arthas:

选择你想要诊断的进程(ps -ef| grep java 查询一下进程),回车即可。

Java诊断工具Arthas,Centos7下部署使用_类加载器_03

4.help命令查看更多功能:

Java诊断工具Arthas,Centos7下部署使用_jvm_04


如果不知道命令的用法,可以输入相应的命令后加参数–help,比如可以看一下thread命令的用法:

Java诊断工具Arthas,Centos7下部署使用_jar_05

5.常用指令:

5.1 cpu占用过高

thread命令把所有线程按照cpu占用率从高到低列出来。

Java诊断工具Arthas,Centos7下部署使用_类加载器_06


通过thread加线程id输出改线程的栈信息,快速定位问题。

Java诊断工具Arthas,Centos7下部署使用_jar_07

5.2死锁

还是用thread命令,参数是-b,jstack工具检测死锁功能相似。

5.3内存泄漏

dashboard命令来动态查看内存情况

Java诊断工具Arthas,Centos7下部署使用_类加载器_08


类似jmap工具,如果需要排查内存泄露,直接用heapdump命令把内存快照dump出来,

heapdump --live /root/jvm.hprof

Java诊断工具Arthas,Centos7下部署使用_类加载器_09


Java诊断工具Arthas,Centos7下部署使用_jvm_10


拿到dump文件,用JDK自带的Java性能分析工具,在JDK的bin目录下jvisualvm解析一下就可以了。

Java诊断工具Arthas,Centos7下部署使用_类加载器_11

5.4 classloader

查看当前系统中有多少类加载器,以及每个加载器加载的类数量,帮助判断是否有类加载器泄露.

Java诊断工具Arthas,Centos7下部署使用_类加载器_12

5.5 jad 命令(反编译源代码)

反编译出已加载类的源代码,如果没有线下环境,我们可以在线上查看到底哪行代码出问题。

jad com.hessianhealth.web.controller.gene.GeneController

Java诊断工具Arthas,Centos7下部署使用_Java_13


Java诊断工具Arthas,Centos7下部署使用_类加载器_14

总结:

科技改变生活,马云爸爸手下的团队确实在造福开发者,还有很多强大的功能比如使用watch和trace做线上断点调试等等,自己下载一个试试吧。


标签:Java,thread,Centos7,命令,内存,Arthas,加载
From: https://blog.51cto.com/u_15906694/5923309

相关文章

  • Centos7下Nacos安装和部署
    一、什么是Nacos?Nacos是阿里巴巴的新开源项目,其核心定位是“一个更易于帮助构建云原生应用的动态服务发现、配置和服务管理平台”,它支持几乎所有主流类型的“服务”的发......
  • CentOS7安装RabbitMQ.
    安装erlang:由于rabbitmq是基于erlang语言开发的,所以必须先安装erlang。安装依赖:yum-yinstallgccglibc-develmakencurses-developenssl-develxmltoperlwgetgtk2-......
  • HBase 单机版安装及使用,并用Java远程连接。
    1.下载解压安装文件到新建目录/home/HBasewgethttp://mirror.bit.edu.cn/apache/hbase/stable/hbase-0.94.16.tar.gztarxvfzhbase-0.94.16.tar.gz2.启动HBase/home/HBas......
  • java基础知识-字符编码
    这块比较乱待整理。。。​​http://www.regexlab.com/zh/encoding.htm​​字符编码字符集。把这些字符集按照不用规则进行编码就形成了不同的字符编码。为什么我们在上网或......
  • java dcm文件转图片
    1.情景展示如何将dicom文件转图片2.具体分析所需jar包<!--dcm文件转图片--><!--https://mvnrepository.com/artifact/org.dcm4che/dcm4che-core--><dependency>......
  • CentOS7查看哪个文件占磁盘空间过大
    CentOS7查看哪个文件占磁盘空间过大下面是一个思路,看明白再去操作查看自己机器情况即可。df-h查看整个磁盘情况可以看到根目录已经使用了79%,已用49%,只有35G可以使......
  • 完全参考java8的开发文档写的文件读写
    publicstaticvoidmain(String[]args)throwsIOException{Stringpath="D:\\project\\luotuo-server\\src\\test\\java\\com\\manageSystem\\project......
  • Java8 遍历List 使用stream().parallel()并发安全
    OverridetheentrypointofanimageIntroducedinGitLabandGitLabRunner9.4.Readmoreaboutthe extendedconfigurationoptions.Beforeexplainingtheav......
  • Java中String类型判空
    根据之前的学习,我们已经知道在Java中String类型是不可以通过==直接判等的,而应该通过equals()那么在Java中String类型要如何判空呢? 在最开始,我以为判空是这样进行的——......
  • Linux centos7升级内核
    1、查看当前内核版本 2、 CentOS允许使用ELRepo,这是一个第三方仓库,可以将内核升级到最新版本。1.导入该源的秘钥rpm--importhttps://www.elrepo.org/RPM-GPG-KE......