基础命令之二 | 学习笔记

简介: 快速学习基础命令之二

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

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


基础命令之二


内容介绍:

一、基础命令介绍

二、课程小结


一、基础命令介绍

1.session

Session 意为会话,作用为查看会话的信息。arthas 可以被认为实际上是启动了一个服务器的,则用户对于每一个会话的处理或者每一个程序的一个跟踪,都是在程序的内部创建了一个会话。由此,用户可以通过这个 session 查看当前会话的一些信息。

image.jpeg

例如,打开程序,在一个界面中 mathgame 游戏应仍处于运行中,在另一个界面中输入arthas-boot.jar,点击回车,程序将会找到 demo 的进程,输入 session,按回车键,就会显示java 的进程 ID,显示为 java_PID,7125的进程ID 是用户粘附在java 包上的程序,session_ID 是指会话 ID。

image.jpeg

如若用户再打开一个 Java 程序,输 入arthas-boot.jar,点击回车,会输出两个PID 不同的 Java 进程,输入1,按回车键,再输入 session,按回车键,则显示字符串与刚刚程序显示不同,此为两个不同监听或粘附会话的 ID,相当于两个不同会话同时粘附在jar进程上。

image.jpeg

2.reset

Reset 中文意为重置,作用为重置增强类,将被 arthas 增强过的类全部还原,增强的功能使得用户可以对类在运行过程中再进行一些调整或者是增强,其实也是为了在运行过程中执行用户临时增加的功能。如果用户输入reset,就可以使得用户当前跟踪的类还原到没有跟踪前的状态,但最终不会改变服务器上真实的类,所以当用户服务器关闭时,服务器也会自动重置所有增强过的类,不需要用户多次输入reset 进行重置。但如果有多个会话,用户敲击reset 或者用reset 带参数,用户就可以使 reset 中一部分类还原,程序支持通倍符。

还原指定类输入 reset test 为指示还原指定的类,若想还原所有以 list 结尾的类,可输入reset*list,若想还原所有的类,输入 reset 即可。

image.jpeg

若用户想要追踪指定的方法,输入 trace demo.MathGame print,按回车键,程序会不断追踪当前打印方法中的一些信息,每一秒中自动打印一次,输出内容中包括运行时间,线程的 ID,用户可以看到print 方法是在main 中树立,优先级,执行的时间以及类加载器。如果用户想要停止追踪,即可输入 reset,进行重置,此时可以选择带或者不带参数,不带参数即为重置所有的类。

image.jpeg

3.version

Version 中文意为版本,作用为输出当前加载的版本号。实际操作中,首先输入 cls 清除屏幕,其次在程序中输入 ersion,按回车键,即可在程序中看到版本号。

image.jpeg

4.history

History 中文意为历史,作用为显示输出打印命令历史。实际操作中,输入history,程序即可显示用户所有输入过的命令。

image.jpeg

5.quit

Quit 作用为退出当前 arthas 客户端,其他arthas 客户端不受影响。例如,当用户同时开启两个 arthas 客户端,根据7125进程号可知两个进程都为跟踪,输入quit,按回车键,则当前客户端退出并回到 Linux 下面,但是该操作不会影响其它的会话,另一个客户端仍处于粘上 arthas 服务器状态。

6.stop

Stop 作用为关闭 arthas 服务端,所有 arthas 客户端全部退出。例如程序中有session,则每一个 session 将会退出并且程序会显示程序服务器会关闭。进入实际操作中,在正在追踪程序中输入 stop,按住回车,程序则显示arthas 服务器关闭,当前会话结束且另一端跟踪的会话也会结束,程序将退回到Linux 状态。

image.jpeg

7.Keymap

Kemap 作用为用来显示arthas 快捷键列表及自定义快捷键。

Arthas 命令快捷键具体包含以下几种:ctrl+a 为跳到行首。ctrl+e为跳到行尾。ctrl+f 为向前移动一个单词。ctrl+b 为向后移动一个单词。按键盘左方向键后,光标向前移动一个字符。按键盘右方向键后,光标向后移动一个字符。按键盘下方向键后,下翻显示下一个命令。按键盘上方向键后,上翻显示上一个命令。ctrl+shift=/或ctrl+h 为向后删除一个字符。ctrl+u 为撤销上一个命令,相当于清空当前行。ctrl+d 为删除当前光标所在字符。ctrl+k 为删除当前光标到行尾的所有字符。ctrl+a 为自动补全,相当于敲TAB。ctrl+j 或ctrl+m 为结束当前行,相当于敲回车键。

image.jpeg

实际操作的第一次运行中慢一点是为了二次启动服务器,输入1,按回车键,再输入keymap,按回车键,用户即可以看到arthas 当中所有的快捷键,包括快捷键解释。例如,用户在敲击一些代码时,按一下Ctrl+a,则会跳到光标的最前面,该快捷键将为用户操作提高效率。实际上,按home 和end 也可以调节光标到最前面与最后面。

程序还具有后台异步命令相关快捷键,例如Ctrl+c 为强行终止当前命令,与在Linux 中相同,在程序中较为常用。Ctrl+z 为把当前命令挂起,就是使得程序后台不执行,后续可以bg/fg重新支持此命令,或者kill 掉。Ctrl+a 为回到行首。Ctrl+e 为回到行尾,此操作与arthas 命令快捷键操作一致。


二、课程小结

Session 命令用于显示当前会话的信息。当前会话的信息包括两种,一种为进程的ID,另一种为会话的 ID,会话的 ID 为一串连续且不重复的字符串。

Reset 命令用于重置类的增强,服务器关闭的时候会自动重置所有的累。

Version 用于显示当前arthas 的版本号。

Quit 用于退出当前会话,不会影响其他会话。

Stop 用于退出 arthas 服务器,所有会话都会停止。

Keymap 命令用于获取快捷键。

相关文章
|
前端开发 NoSQL Redis
大文件上传:秒传、断点续传、分片上传
大文件上传:秒传、断点续传、分片上传
2963 2
|
SQL XML Java
【mybatis】第二篇:@Select注解中加入字段判断
【mybatis】第二篇:@Select注解中加入字段判断
|
9月前
|
安全
【📕分布式锁通关指南 07】源码剖析redisson利用看门狗机制异步维持客户端锁
Redisson 的看门狗机制是解决分布式锁续期问题的核心功能。当通过 `lock()` 方法加锁且未指定租约时间时,默认启用 30 秒的看门狗超时时间。其原理是在获取锁后创建一个定时任务,每隔 1/3 超时时间(默认 10 秒)通过 Lua 脚本检查锁状态并延长过期时间。续期操作异步执行,确保业务线程不被阻塞,同时仅当前持有锁的线程可成功续期。锁释放时自动清理看门狗任务,避免资源浪费。学习源码后需注意:避免使用带超时参数的加锁方法、控制业务执行时间、及时释放锁以优化性能。相比手动循环续期,Redisson 的定时任务方式更高效且安全。
594 24
【📕分布式锁通关指南 07】源码剖析redisson利用看门狗机制异步维持客户端锁
|
消息中间件 负载均衡 应用服务中间件
MQ产品使用合集之使用的RocketMQ5.1.3时,grpc客户端没有产生消息轨迹如何解决
消息队列(MQ)是一种用于异步通信和解耦的应用程序间消息传递的服务,广泛应用于分布式系统中。针对不同的MQ产品,如阿里云的RocketMQ、RabbitMQ等,它们在实现上述场景时可能会有不同的特性和优势,比如RocketMQ强调高吞吐量、低延迟和高可用性,适合大规模分布式系统;而RabbitMQ则以其灵活的路由规则和丰富的协议支持受到青睐。下面是一些常见的消息队列MQ产品的使用场景合集,这些场景涵盖了多种行业和业务需求。
318 3
|
消息中间件 Java 中间件
MQ四兄弟:如何保证消息可靠性
本文介绍了RabbitMQ、RocketMQ、Kafka和Pulsar四种消息中间件的可靠性机制。这些中间件通过以下几种方式确保消息的可靠传输:1. 消息持久化,确保消息在重启后不会丢失;2. 确认机制,保证消息从生产者到消费者都被成功处理;3. 重试机制,处理失败后的重试;4. 死信队列,处理无法消费的消息。每种中间件的具体实现略有不同,但核心思想相似,都是从生产者、中间件本身和消费者三个角度来保障消息的可靠性。
610 0
|
缓存 Java
异步&线程池 线程池的七大参数 初始化线程的4种方式 【上篇】
这篇文章详细介绍了Java中线程的四种初始化方式,包括继承Thread类、实现Runnable接口、实现Callable接口与FutureTask结合使用,以及使用线程池。同时,还深入探讨了线程池的七大参数及其作用,解释了线程池的运行流程,并列举了四种常见的线程池类型。最后,阐述了在开发中使用线程池的原因,如降低资源消耗、提高响应速度和增强线程的可管理性。
异步&线程池 线程池的七大参数 初始化线程的4种方式 【上篇】
|
Java Maven
使用 maven 自动将源码打包并发布
使用 maven 自动将源码打包并发布
537 0
|
Arthas 监控 Java
金石原创 |【JVM实战系列】「监控调优体系」实战开发arthas-spring-boot-starter监控你的微服务是否健康!
金石原创 |【JVM实战系列】「监控调优体系」实战开发arthas-spring-boot-starter监控你的微服务是否健康!
501 0