结论:arthas 可以通过启动时指定不同的端口来监听不同的java程序,每次如果采用exit或者quit退出,都会保留实例,下次可以通过指定上次相同的端口,进入同一个实例,但是进入同一个实例,只能再次监听同一个java程序,不能使用同一个实例两次监听不同的程序,会报错端口冲突,告诉你三种解决办法; 第二种 在命令行控制台执行sto...
8. Arthas线上常用场景 8.1 CPU过高问题 现象描述:运维突然打电话说是生成线上节点cpu高达80%,而且还在增加,但是最新的一个版本并没有什么复杂的功能上线,而且日志在报一个批量插入主键冲突的异常,但是这个批量插入的功能已经上线很久,并且在很多地方都有用到,所以不能定位到是哪里的问题,这时候可以用arthas来查找问...
Arthas是阿里开源的 Java 诊断工具,相比 JDK 内置的诊断工具,要更人性化,并且功能强大,可以实现许多问题的一键定位,而且可以一键反编译类查看源码,甚至是直接进行生产代码热修复,实现在一个工具内快速定位和修复问题的一站式服务。 今天,我就带你使用 Arthas 定位一个 CPU 使用高的问题,系统学习下这个工具的使用。
方式一:使用 arthas-boot 启动arthas 推荐使用arthas-boot(推荐),下载arthas-boot.jar,然后用java -jar的方式启动: curl -O https://arthas.aliyun.com/arthas-boot.jar java -jar arthas-boot.jar 打印帮助信息: java -jar arthas-boot.jar -h arthas-boot启动过程中, 会下载一些依赖包,如果下载速度比较慢...
登录远程服务器,运行以下两条运行arthas,然后执行从idea插件复制的tt -t命令来记录方法执行,如下图所示。如果想停止记录可以输入q,查看记录使用tt -l。 curl -L https://arthas.aliyun.com/install.sh | sh ./as.sh 3 搜索方法执行记录 tt -l可以查看所有的方法执行记录,但是我们要和我们相关的执行记录,那...
java -jar arthas-boot.jar [option] 演示如下: 方案二:Web Console实现 我们可以不通过每次进入 ssh 中进行执行程序,我们也可通过 web 方式进行访问操作.通过官网上面的介绍 arthas 的 Web Console,能了解到大致的搭建思路。 通过下载 arthas-tunnel-server。我们可以拿到对应的 arthas 的 server 端。下载完毕之后...
1.下载arthas-boot.jar 然后用java-jar的方式启动: curl-O https://arthas.aliyun.com/arthas-boot.jar java-jar arthas-boot.jar 2.输入其对应的id 4进入阿尔萨斯控制台 image 3.直接thread -all查看了一下所有java相关进程 4.看到了很多waiting的线程都是http-nio的线程,大约200个 ...
arthas监控java进程 java-jararthas-boot.jar <pid> 常用命令 dashboard jad jad命令用来反编译某一个类 eg:jad com.test.controller watch 通过watch命令来查看demo.MathGame#primeFactors函数的返回值: trace eg:trace com.test.controller testMethod
对于java代码线上热修改可以通过arthas进行。 jad *.class #可以获取class的反编译代码相关信息 首先要进入对应得jvm进程 curl -O https://arthas.aliyun.com/arthas-boot.jar #显示全部进程 选择需要观察的序号 java -jar arthas-boot.jar #选了序号后 等待片刻进入目标进程 ...
Arthas的操作流程(简易)官方提供了两种使用方式 下载arthas-boot.jar 或者直接安装使用 as. sh。这里说明前一种。一、下载arthas-boot.jar 注明:个人环境是Mac环境,其他环境可借鉴参考 会将目标文件下载到当前目录中。二、运行arthas-boot.jar 可以看到执行 java -jar arthas-boot.jar之后,它罗列了当前的java进程...