Windows下Arthas的简单使用

java诊断工具Arthas插件在Windows环境下的使用(一) Arthas 阅读详情
AI摘要

本文介绍了Arthas工具的使用。首先需准备一个不停运行的Java程序,在Windows下启动程序并进入Arthas目录启动检测,也可在浏览器操作。还介绍了常用命令,如dashborad仪表板、thread线程板、jad反编译、watch监测等,以及退出Arthas的方法。

前言

前面我们就已经说了怎么安装Arthas了,那今天我们就来聊一下Arthas的使用

一、准备

我们需要准备一个java程序,启动之后不能停止的,那我就用一个简单的死循环程序
下面是一个死循环程序,一直输出a的值

public class test {
    public static void main(String[] args) {
        int a = 1;
        while (a==1){
            System.out.println(a);
        }
    }
    
}

二、测试

Windows下测试

启动这个程序,并且让他后台运行

然后菜单键+R,运行cmd打开命令行,然后进入到Arthas的arthas-boot.jar目录,比如我的在D盘,所以我需要先进入D盘的路径,然后才能cd进入到我的目录

进入目录之后,使用下列命令启动Arthas

java -jar arthas-boot.jar

然后就会显示出我们刚刚启动的test这个程序了,输入1之后按回车就可以启动Arthas来检测了
如果你想要检测其他的java程序的话,就输入程序名前面对应的数字

当然你也可以在浏览器里进行监控的操作,上图中有个链接,你在浏览器输入这个地址就可以使用浏览器来执行arthas命令

三、执行

我们先执行一下help,看看有什么命令

image-20210601150102790

显然,arthas的命令还是挺多的,后面会介绍的

那我先介绍一下几条常用的吧

常用命令

提前说一条清理的命令,后面的常用命令展示的东西太多,需要清掉来好看一点

Windows下就是clear,Linux下就是cls

1.dashborad仪表板

输入dashborad之后,会出现一个表格(如果没有出现,说明可能那个程序停了,要保持test程序还在运行),这个叫仪表板

主要有三个部分,第一个是所有的线程状态,第二个是内存使用的情况,第三个是JVM的状态和Windows的信息

这些内容是会刷新的,可根据这些数据对这个程序以及java虚拟机进行监控,需要退出的话按Q或者Ctrl+C即可退出。

image-20210601154823554

2.thread线程板

输入这个命令之后,也会出现一张表,这个跟上面的第一条是类似的,显示的是所有线程的情况image-20210601155846069

每个线程前面会有一个id,输入 thread +对应的id可以查看的该线程的一些信息

image-20210601160343118

3.jad反编译

这个命令是一个反编译的命令,可以把jar包反编译成代码展示在屏幕上,例如我的是test程序,那我就输入jad test

一般的程序的话,就需要安装下面的步骤来输入

jad  包名.类名

image-20210601160559560

输入之后返回了几行东西,第一个红色字体下的是类加载器,第二个是路径,下面的就是源码和反编译的时间了

4.watch监测

直接翻译就是监视,有点类似debug那种,可以看到这个类中函数的返回值,下面是标准使用的格式

$ watch 包名.类名 方法名 primeFactors returnObj

那我就需要改进一下,把我的程序改成函数调用的形式,现在我改成这样,效果是跟前面的是一样的

public class test {
    public static void main(String[] args) {
        int a = 1;
        while (a==1){
            System.out.println(outs(a));
        }
    }
    
    public static int outs(int x){
        return x;
    }

}

那我 测试这个outs方法,同样的因为我这个程序没有包名,所以包名可以省略,那我就输入

$ watch test outs primeFactors returnObj

可以看到每一次都会输出一个结果,这个结果就是我们预想的 “1” ,同样的在开头也是提示我们,按Q或者Ctrl+C可以退出

image-20210601164716217

当然你也可以不写primeFactors ,直接输入$ watch test outs primeFactors returnObj,也是会输出数据,但是这个数据是会一直循环输出的,每执行一次就会输出一次,同样按Q或者Ctrl+C退出

image-20210601162625926

5.退出Arthas

只是退出当前连接的话,可以输入quit或者exit退出这个连接,这样就可以更换监控的java程序了

比如我不监控test这个程序了,我要监控test1,那就输出quit或者exit退出这个连接,然后再重新选择test1进行监控。

我就再新建一个java程序test1如下,功能类似,也是死循环输出一个数

public class test1 {    
	public static void main(String[] args) { 
        int a = 2;       
        while (a==2){           
        	System.out.println(a);        
        }    
    }
}

同时要保持两个程序都没有停止

image-20210601170016189

退出,然后就可以选择监控另一个了。有时候会有出现无法连接的情况,这是因为端口被刚刚的占用了还没释放,这里可以把test1的端口更换掉就行,前面有说怎么换端口的

image-20210601170516920

image-20210601170809726

很显然,这样的话,还是没有退出Arthas,只是退出了这次监控而已,那怎么退出呢,那就要直接使用stop命令对其进行关闭操作,直接整个对话就结束了

image-20210601170222511
本次分享就先到这里了,后面还会分享更多关于Arthas的使用,敬请期待

Arthas的使用 一、概述 可以解决问题: 这个类是哪个jar包加载的?为什么会报各种类相关的Exception 我改的代码为什么没有执行? 遇到线上问题无法debug,难道只能通过加日志重新发布吗? 线上遇到某个用户的数据处理有问题,线下无法重现 是否有一个全局视角来查看系统的运行状况? 有什么办法可以监控到JVM的实时运行状态? 怎么养快速定位应用的热点,火焰图 运行环境要求,JDK6以上的版本,支持Tab自动补全功能,命令行的交互模式。 二、快速安装 去官网下载:下载 — Arthas 3.5.5 阅读详情

相关推荐

Arthas 下载、启动、监控Java应用程序(Windows系统)

Arthas 是一款线上监控诊断产品,通过全局视角实时查看应用 load、内存、gc、线程的状态信息,并能在不修改应用代码的情况下,对业务问题进行诊断,包括查看方法调用的出入参、异常,监测方法执行耗时,类加载信息等,大大提升线上问题排查效率。

旭东怪的博客 3443

arthas的简单尝试(windows环境)

arthas的简单使用

y1319119630的博客 4803

Win11 24H2家庭版共享打印机失败?别慌,一个批处理脚本搞定所有设置

本文提供了Win11 24H2家庭版共享打印机失败的解决方案,通过一个批处理脚本自动修复所有设置问题。脚本包含安装组策略组件、修改关键注册表项等操作,帮助用户快速恢复打印机共享功能,适用于普通家庭用户。

weixin_30632089的博客 418

windows环境下运行Arthas

Arthas是一款阿里巴巴开源的 Java 线上诊断工具,功能非常强大,可以解决很多线上不方便解决的问题。Arthas诊断使用的是命令行交互模式,支持JDK6+,Linux、Mac、Windows 操作系统,命令还支持使用 tab 键对各种信息的自动补全。**原因1:**出现这个报错可能是因为找不到jps命令,我们默认安装的openjdk是不支持jps的,所以需要卸载Open JDK,安装Oracle JDK。难道是我没 commit?4、线上遇到某个用户的数据处理有问题,但线上同样无法 debug,

wangjun772798279的博客 1714

模仿学习(Imitation Learning)概述

什么是模仿学习呢?简单来说,模仿学习(Imitation Learning),就是要训练机器能够复制人类的连续动作,进而达到模仿的目的。其实,Imitation Learning的实用性很高,假设今天有一个训练场景,你不知道该怎么定奖励值(reward),但是你可以收集到专家的示范数据(expert demonstration data),你就可以考虑用Imitation Learning这个方法。因此,模仿学习也被寄予很高的期待,成为下一代强人工智能的关键技术。......

qq_22749225的博客 2万+

手把手教你调试RTL8201F:从芯片手册解读到LWIP驱动移植

本文详细解析了RTL8201F PHY芯片的开发流程,从寄存器配置到LWIP驱动移植,重点介绍了RMII模式下的特殊配置要点和调试技巧。通过实战案例和高级调试方法,帮助工程师解决网络性能问题,实现与FreeRTOS+LWIP协议栈的稳定集成。

ik678901234的博客 972

Arthas 是Alibaba开源的Java诊断工具

Arthas是Alibaba开源的Java诊断工具,深受开发者喜爱。 当你遇到以下类似问题而束手无策时,Arthas可以帮助你解决: 这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exception? 我改的代码为什么没有执行到?难道是我没 commit?分支搞错了? 遇到问题无法在线上 debug,难道只能通过加日志再重新发布吗? 线上遇到某个用户的数据处理有问题,但线上同样无法 debug,线下无法重现! 是否有一个全局视角来查看系统的运行...

lovo1的专栏 646

基于yolov5的鸟类图像准确识别

本项目主要基于yolov5进行鸟类准确识别,主要识别白鹭家族,红脚鹬,反嘴鹬,环颈珩,小白鹭以及夜鹭六类鸟

weixin_46064184的博客 3822

windows下Arthas简单使用

在jdk的bin目录下打开cmd,然后执行。执行命令后边是安装之后arthas-boot.jar所在的路径。然后执行对应的方法时,就可以查看方法的执行次数、耗时百分比、耗时等信息;先根据本地服务端口号获取PID。启动之后输入PID对应的序号。

qq_45523857的博客 2002

告别IMEI!手把手教你用UUID实现Android设备唯一标识(兼容Android 10-13)

本文详细探讨了在Android 10及以上版本中,如何构建合规且高可用的设备唯一标识方案以替代被限制访问的IMEI。文章深入分析了Android设备标识符的演变,并提供了基于UUID/GUID的完整实现策略,包括生成算法、多级持久化存储方案(如MediaStore)、权限处理以及版本兼容性实践,帮助开发者应对Android 10-13的隐私政策变化。

weixin_28339967的博客 573

YOLOv11改进 | Neck篇 | 双向特征金字塔网络BiFPN助力YOLOv11有效涨点

本文给大家带来的改进机制是BiFPN双向特征金字塔网络,其是一种特征融合层的结构,也就是我们本文改进YOLOv11模型中的Neck部分,它的主要思想是通过多层级的特征金字塔和双向信息传递来提高精度。本文给大家带来的结构可以让大家自行调节网络结构大小,同时能够达到一定的轻量化效果,为什么发BiFPN呢因为它算是YOLO系列改进中的常青树了,大家可以借鉴它的双向特征思想来创新自己的Neck结构本文的BiFPN通过yaml文件配置可以让大家自行调配其结构。

Snu77的博客 9095

阿里-Arthas 简单使用-线上热部署更新(Windows)

目录 官网 一、Arthas压缩包下载? 二、快速入门 1.启动Demo 2.执行Arthas 4.过程中出现的问题 问题描述: 解决方案亲测有效: 官网 Arthas官网:Arthas - Alibaba Java Diagnostic Tool Alibaba Java Diagnostic Tool Arthashttps://arthas.aliyun.com/en-us/ 一、Arthas压缩包下载? 1:官网下载 2:百度网盘...

zf199805的博客 3947

主题035:计算流体力学(CFD)

计算流体力学(Computational Fluid Dynamics, CFD)是利用数值方法求解流体流动、传热传质等问题的学科。CFD已成为化学反应工程中反应器设计和优化的重要工具。∂ρ∂t+∇⋅(ρu)=0 \frac{\partial \rho}{\partial t} + \nabla \cdot (\rho \mathbf{u}) = 0 ∂t∂ρ​+∇⋅(ρu)=0对于不可压缩流动:∇⋅u=0 \nabla \cdot \mathbf{u} = 0 ∇⋅u=0动量方程:∂(ρu)∂t+∇⋅(ρ

kkchenjj的博客 266

Alibaba Java诊断工具Arthas之快速安装和简单使用

Alibaba Java诊断工具Arthas简单介绍 : 当你遇到以下类似问题而束手无策时,Arthas可以帮助你解决: 1.这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exception?2.我改的代码为什么没有执行到?难道是我没 commit?分支搞错了?3.遇到问题无法在线上 debug,难道只能通过加日志再重新发布吗?4.线上遇到某个用户的数据处理有问题,但线上同样无法 d...

weixin_30478757的博客 221

基于Pascal VOC数据集的YOLOv8目标检测系统实现:人、鸟、猫、牛、电视、车等20类目标识别与UI界面部署全流程详解

VOC 2007、VOC 2012 两个主要版本;每个图像提供 bounding box(目标框)+ 目标类别;共计 20 类,所有图像手工标注,质量高。完整复现 Pascal VOC 20类检测任务成功训练 YOLOv8 模型实现可视化 UI + 实时检测系统支持多平台部署和演示。

YOLO 771

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

Arthas -- 一款释放潜力的神器

一旦 Arthas 启动,我们可以使用仪表盘。使用 Arthas 的一个主要优点是,我们不需要修改代码,甚至不需要重新启动我们想要监视的 Java 服务。当我们无法访问正在审查的应用程序的代码,或者我们想快速诊断在服务器上运行的有问题的应用程序时,它也可以特别有帮助。最后,由于 Arthas 是用 Java 编写的,因此它是跨平台的,可以在 Linux、macOS 和 Windows 上运行。在本教程中,我们将首先安装 Arthas,在此之后,通过一个简单的案例来演示 Arthas 的一些关键特性。

Dc253061007的博客 466

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Arthas基础使用篇

Arthas:快速入门

七叔的博客 2万+

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Windows、Linux 安装arthas

详情见官方文档: https://arthas.aliyun.com/doc/quick-start.html。下载地址:https://arthas.aliyun.com/doc/download.html。shift+右键,选择 “在此处打开PowerShell窗口”。当然,也可以使用cmd打开。在本地新建文件夹arthas,下载后直接解压到该文件夹。接下来就可以使用 arthas 的各种命令了。为了演示方便,直接用Windows版。

Cyms,BgXmSfXtsj !!!! Battle Each Moment !!!! 1084

Windows测试Arthas

安装步骤: https://my.oschina.net/Rayn/blog/2054773 官网: https://alibaba.github.io/arthas/quick-start.html 使用: https://www.jianshu.com/p/4e711a780aa3 https://my.oschina.net/Rayn/blog/2054773 https://...

没有伞的孩子必须努力奔跑!—小林 3069

【Arthas】基础使用

官方文档:Gthub:Arthas 是一款线上监控诊断产品,通过全局视角实时查看应用 load、内存、gc、线程的状态信息,并能在不修改应用代码的情况下,对业务问题进行诊断,包括查看方法调用的出入参、异常,监测方法执行耗时,类加载信息等,大大提升线上问题排查效率。这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exception?我改的代码为什么没有执行到?难道是我没 commit?分支搞错了?遇到问题无法在线上 debug,难道只能通过加日志再重新发布吗?

Blue_Pepsi_Cola的博客 1293

windows环境下使用arthas不启动服务替换文件

windows环境,如果现场环境客户正在使用项目,如果要替换项目中的一个class文件,但是又不能重启服务改怎么处理,今天介绍使用arthas中的retransform命令动态替换及使用注意的事项。正在跑的函数,没有退出不能生效,比如下面新增加的System.out.println,只有run()函数里的会生效。加载外部的.class 文件,redefine jvm 已加载的类。使用mc命令将反编译的.java文件变成对应的.class文件。观察到内存中加载的已经是修改后的方法,因此验证成功!

喜羊羊love红太狼 1772

arthas简单使用

简介 Arthas 是Alibaba开源的Java诊断工具,深受开发者喜爱,项目地址.当你遇到以下类似问题而束手无策时,Arthas可以帮助你解决: 这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exception? 我改的代码为什么没有执行到?难道是我没 commit?分支搞错了? 遇到问题无法在线上 debug,难道只能通过加日志再重新发布吗? 线上遇到某个用户的数据处理有问题,但...

diy_os的专栏 529

Arthas-WPFUI核心控件解析:打造现代化Windows界面

Arthas-WPFUI是一款基于WPF框架的现代化控件库,专为.NET 7.0 Windows Desktop应用开发设计。它提供了丰富的预构建控件,帮助开发者快速创建具有专业外观和流畅交互的桌面应用界面,无需从零开始编写复杂的UI代码。 ## 🚀 核心控件概览 Arthas-WPFUI包含多个精心设计的核心控件,覆盖了桌面应用开发的常见需求。这些控件不仅外观现代化,还提供了丰富的自定义选

gitblog_00878的博客 433

【开发工具】Arthas使用笔记:1、下载和简单使用

本文参考官方文档:https://alibaba.github.io/arthas/install-detail.html 如有问题可加入上述文档中的官方QQ/钉钉群 一、安装(windows) 1、开发命令框,切换到准备安装的目录,D:/cloudcore/open_tools/arthas 2、复制下面命令,完成一键安装,并且在该目录下会生成一个as.sh文件 curl -L ht...

从心出发 1万+

windows本地启动项目并使用arthas调试

摘要:本文介绍了使用Arthas工具进行Java应用调试的步骤。首先需要从GitHub下载Arthas,然后通过jps命令查找目标进程ID。启动Arthas时若遇到端口冲突问题,提供了三种解决方案:1)重启Arthas并选择正确进程;2)停止现有Arthas实例;3)使用不同telnet端口。最后给出了具体的命令行操作示例来解决端口占用问题。

weixin_42077595的博客 454
上一篇: 在Docker中安装并修改MySQL中的 my.cnf 配置文件
下一篇: Linux下Arthas的简单使用
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值