一.java自带的常用命令
1.jps: 列出所有的java相关进程
2.jinfo + 进程: 该java进程的详细信息
3.jstat -gc 进程 + 500: 每500毫秒刷新gc情况
4.jmap -histo + 进程:查看所有对象的占用情况
5.jhsdb jmap --heap --pid 1(进程):查看堆内存使用情况
二.arthas常用命令
官网:https://arthas.aliyun.com/doc/commands.html
https://www.bilibili.com/video/BV1kg411q7Td?spm_id_from=333.788.player.switch&vd_source=12d5954938d20d50645e227a6a728c76&p=6
1. jad + 类全路径:反编译出类的完整代码
该命令可以用于排查线上环境发布的代码。
2. thread: 查看当前线程信息,查看线程的堆栈
例如:thread -3 : 展示最忙的前3个线程,然后根据 thread+现成号找到线程堆栈
3. trace :查看某个方法的性能瓶颈
线上一个接口可能有很多链条,能够定位出瓶颈在哪个链。
4. watch :线上debug
例如,你想查看某个方法传入某个参数后,返回值是什么或者是否抛异常,就可以使用该命令,命令执行后,调用线上接口,让其执行到某个方法,观察输出。