快速入门:常用命令接触 | 学习笔记

简介: 快速学习快速入门:常用命令接触

开发者学堂课程【线上问题排查利器 Alibaba Arthas(上)快速入门:常用命令接触学习笔记,与课程紧密连接,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/746/detail/13187


快速入门:常用命令接触


内容介绍:

一、五种常用命令介绍

二、课程小结


一、五种常用命令介绍

1.dashboard 仪表板

Dashboard 仪表板主要显示Java 蓄力机内存的一个使用情况。首先,用户需要确认 demo 的程序处在仍在运行且未被退出的状态,并且启动了 arthas-boot 的命令,将其粘附到 arthas-demo 上面。粘附上后,即可进行后续操作。第一条命令输入 dashboard ,如若用户忘记拼写,即可输入前半部分后,按 table 键,程序则会自动补全。按回车,即会显示仪表板,此仪表板隔一段时间会自动进行刷新。

image.jpeg

仪表板内容主要分四部分,仪表板界面上面部分表示运行所有的线程,进程是由线程组成。中部内容表示仪表板内存使用情况。下部表示 JVM 蓄力机运行时的状态。下半部分右侧表示 Linux 内存的信息。下半部分左右存在着一个对应关系,其包括操作系统的名字、操作系统的版本、java的版本、java 的 home 所在的目录等等内容。当前内容,不进行详细讲解,用户仅知其为一个面板,此面板能显示许多内存信息,并且会进行刷新。在仪表板界面按住 q 或者 Ctrl+C 即可退出。

image.jpeg

2.通过 thread 命令来获取到 arthas-demo 进程的 Main Class

首先,输入 window 下面的命令cls 进行清屏。然后,输入 thread,点击回车,此时会显示所有正在运行的线程。该显示内容与dashboard上半部分内容相似。选择用户想看的某一个线程,可以输入1,此时1代表线程的id 号,此时输入thread 1只显示一号线程的状态。time waiting 表示等待的时间,因为程序每隔一秒进行一次暂停,由此代码中包含 sleep,表示代码处于等待中。

image.jpeg

image.jpeg

3.通过 jad 来反编译 Main Class

Jad 可以反编译 Java 的 class 文件,将其编译成Java 原代码,该操作对于用户在实际运维与检测错误过程中具有很大帮助。在没有源代码的情况下,可用 jad 进行反编译。假设要反编译类,输入 jad demo.mathgame,点击回车,即将整个 class 文件进行反编译。classloader 程序类加载器,location 为  jad demo.mathgame 所在的jar 包,下面即所有被反编译的源代码。

image.jpeg

4.Watch

Watch 中文意为监视。watch 用于监视程序在执行过程中输入参数是什么,输出参数是什么以及返回值是什么。watch 起到一个监视的作用,其类似于在开发工具里的dbug,用户可以看到每一个函数的返回值。但watch 是程序在实际执行过程中的某一个时刻的返回值,所以非常方便用户进行监测。

image.jpeg

watch 的具体命令为watch demo.MathGame primeFactors returnObj,首先,demo.MathGame 为用户要监视的包名和类名,primeFactors 为用户要监视的方法,returnObj 为监视的返回值,returnObj 是ognl 表达式。

实际操作中执行 MathGame primeFactors returnObj,由于每过一秒钟调用一次,所以程序每一次的返回值是不同的。点击回车,会发现程序每过一秒钟重复一次,按 Q 键或 Ctrl+C 退出程序。程序返回值是一个ArrayList 的对象,输出为ArrayList 中两个值。第二次运行中,返回四个值。第三次运行显示result=null,表示本次值为负值,故没有生成返回值。如果得到ArrayList 值,证明经过质因数分解计算得到的值。

image.jpeg

5.退出 arthas

如果只是退出当前的链接,可以用quit 或者exit 命令。attach 到目标进程上的arthas 还会继续运行,端口会保持开放,下次连接时可以直接连接上。如果想完全退出arthas,可以执行stop 命令。

首先,输入quit,点击回车,即用户退出了arthas,再次点击回车并扣1,程序仍可以连接。如果想彻底退出,输入stop,按回车,即可退出。stop 表示把整个会话进行结束,注意该操作并不会影响原有系统运行,仅使arthas退出。

image.jpeg


二、课程小结

1.arthas 的启动

输入Java-jar arthas-boot.jar。

2.常用命令的作用

Dashboard 功能为显示 JVM 中内存的情况,JVM 中环境信息。thread功能为显示当前进程所有线程信息。jad 功能为反编译指定的类或方法。watch 功能为监视某个方法执行情况,监视返回值。quit,exit,stop 功能为退出或停止 arthas。

相关文章
|
存储 算法 网络协议
LP流动性质押SWAP交易所系统开发|方案逻辑|规则案例
智能合约是指一种独立的、自动执行的代码
|
监控 安全 Java
【愚公系列】2021年11月 攻防世界-进阶题-MISC-043(Cephalopod)
【愚公系列】2021年11月 攻防世界-进阶题-MISC-043(Cephalopod)
371 0
【愚公系列】2021年11月 攻防世界-进阶题-MISC-043(Cephalopod)
|
4天前
|
数据采集 人工智能 安全
|
13天前
|
云安全 监控 安全
|
5天前
|
自然语言处理 API
万相 Wan2.6 全新升级发布!人人都能当导演的时代来了
通义万相2.6全新升级,支持文生图、图生视频、文生视频,打造电影级创作体验。智能分镜、角色扮演、音画同步,让创意一键成片,大众也能轻松制作高质量短视频。
1099 152
|
18天前
|
机器学习/深度学习 人工智能 自然语言处理
Z-Image:冲击体验上限的下一代图像生成模型
通义实验室推出全新文生图模型Z-Image,以6B参数实现“快、稳、轻、准”突破。Turbo版本仅需8步亚秒级生成,支持16GB显存设备,中英双语理解与文字渲染尤为出色,真实感和美学表现媲美国际顶尖模型,被誉为“最值得关注的开源生图模型之一”。
1772 9
|
10天前
|
人工智能 自然语言处理 API
一句话生成拓扑图!AI+Draw.io 封神开源组合,工具让你的效率爆炸
一句话生成拓扑图!next-ai-draw-io 结合 AI 与 Draw.io,通过自然语言秒出架构图,支持私有部署、免费大模型接口,彻底解放生产力,绘图效率直接爆炸。
706 152
|
12天前
|
人工智能 安全 前端开发
AgentScope Java v1.0 发布,让 Java 开发者轻松构建企业级 Agentic 应用
AgentScope 重磅发布 Java 版本,拥抱企业开发主流技术栈。
664 13