网站首页 > 文章精选 正文
安装启动
wget https://github.com/alibaba/arthas/releases/download/arthas-all-3.5.3/arthas-bin.zip
java -jar arthas-boot.jar
线程CPU与JVM 整体
dashboard
内部线程可以观测到JVM活动,如GC、JIT编译等占用CPU情况,方便了解JVM整体运行状况
ID: Java级别的线程ID,注意这个ID不能跟jstack中的nativeID一一对应。
NAME: 线程名
GROUP: 线程组名
PRIORITY: 线程优先级, 1~10之间的数字,越大表示优先级越高
STATE: 线程的状态
CPU%: 线程的cpu使用率。比如采样间隔1000ms,某个线程的增量cpu时间为100ms,则cpu使用率=100/1000=10%
DELTA_TIME: 上次采样之后线程运行增量CPU时间,数据格式为秒
TIME: 线程运行总CPU时间,数据格式为分:秒
INTERRUPTED: 线程当前的中断位状态
DAEMON: 是否是daemon线程
JVM内部线程包括下面几种:
- JIT编译线程: 如 C1 CompilerThread0, C2 CompilerThread0
Just-In-Time (JIT) 编译器是运行时环境的一个组件,通过在运行时将字节码编译为本机机器代码来提高 JavaTM 应用程序的性能。
- GC线程: 如GC Thread0, G1 Young RemSet Sampling
- 其它内部线程: 如VM Periodic Task Thread, VM Thread, Service Thread
JVM诊断参数
查看VM参数
vmoption
动态设置Full GC前后自动生成Dump
vmoption HeapDumpAfterFullGC true
jvm启动时候设置自动生成dump
java -Xms200m -Xmx200m -Xmn50m -XX:PermSize=30m -XX:+HeapDumpBeforeFullGC -XX:+HeapDumpAfterFullGC -XX:HeapDumpPath=/tmp gs-rest.dump
jinfo动态设置
jps
jinfo -flag +HeapDumpBeforeFullGC 98524
线程
最忙的前N个线程并打印堆栈
thread -n 3
当前阻塞其他线程的线程
thread -b
指定状态线程
thread --state WAITING
追踪方法
方法内部调用路径,并输出方法路径上的每个节点上耗时
trace com.example.demo.DemoController cost
追踪一次
trace com.example.demo.DemoController cost -n 1
反编译
jad com.example.demo.DemoController
启动压测
抓包接口地址,利用chrome直接导出 curl
./go-stress-testing-mac -c 10 -n 1000 -p curl.log
- 上一篇: Java虚拟机(jvm)-简介
- 下一篇: Java虚拟机 JVM 内存模型概述-通俗易懂
猜你喜欢
- 2025-04-23 【Linux】——从0到1的学习,让你熟练掌握,带你玩转Linu
- 2025-04-23 深入解析Java虚拟机(JVM)底层原理
- 2025-04-23 性能优越的轻量级日志收集工具,微软、亚马逊都在用
- 2025-04-23 JVM性能分析工具:Jstack
- 2025-04-23 JVM常用参数自查笔记
- 2025-04-23 Java性能调优实用指南
- 2025-04-23 常见的JVM参数配置
- 2025-04-23 JVM参数配置实战手册:从入门到生产级调优
- 2025-04-23 聊聊JVM如何调优
- 2025-04-23 性能测试之网络分析
- 04-23关于linux coreutils/sort.c源码的延展思考最小堆为什么不用自旋
- 04-23一文精通如何使用二叉树
- 04-23二叉树(Binary Tree)
- 04-23数据结构入门:树(Tree)详细介绍
- 04-23数据结构错题收录(六)
- 04-23Kubernetes原理深度解析:万字图文全总结!
- 04-23一站式速查知识总结,助您轻松驾驭容器编排技术(水平扩展控制)
- 04-23kubectl常用删除命令
- 最近发表
- 标签列表
-
- newcoder (56)
- 字符串的长度是指 (45)
- drawcontours()参数说明 (60)
- unsignedshortint (59)
- postman并发请求 (47)
- python列表删除 (50)
- 左程云什么水平 (56)
- 计算机网络的拓扑结构是指() (45)
- 稳压管的稳压区是工作在什么区 (45)
- 编程题 (64)
- postgresql默认端口 (66)
- 数据库的概念模型独立于 (48)
- 产生系统死锁的原因可能是由于 (51)
- 数据库中只存放视图的 (62)
- 在vi中退出不保存的命令是 (53)
- 哪个命令可以将普通用户转换成超级用户 (49)
- noscript标签的作用 (48)
- 联合利华网申 (49)
- swagger和postman (46)
- 结构化程序设计主要强调 (53)
- 172.1 (57)
- apipostwebsocket (47)
- 唯品会后台 (61)
- 简历助手 (56)
- offshow (61)