1,jps 查看应用进程
2,jinfo -flags pid 查看曾经赋值的一些参数
3,jstat
查看类装载信息
jstat -class PID 1000 10 查看某个 java 进程的类装载信息, 每 1000 毫秒输出一次, 共输出 10 次
查看垃圾收集信息
- jstat -gc PID 1000 10
- 4,jstack
查看线程堆栈信息
- jstack PID
- 5,jmap
生成堆快照
jmap -heap PID
dump 出堆内存相关信息
jmap -dump:format=b,file=heap.hprof PID
jvm 配置一下参数会自动生成 dump 文件, 不用手动生成.
-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=heap.hprof
常用分析工具:
- ,jconsole
- ,jvisualvm
- ,arthas
arthas 常用命令:
version: 查看 arthas 版本号
help: 查看命名帮助信息
cls: 清空屏幕
session: 查看当前会话信息
quit: 退出 arthas 客户端
dashboard: 当前进程的实时数据面板
thread: 当前 JVM 的线程堆栈信息
jvm: 查看当前 JVM 的信息
sysprop: 查看 JVM 的系统属性
sc: 查看 JVM 已经加载的类信息
dump:dump 已经加载类的 byte code 到特定目录
jad: 反编译指定已加载类的源码
monitor: 方法执行监控
watch: 方法执行数据观测
trace: 方法内部调用路径, 并输出方法路径上的每个节点上耗时
stack: 输出当前方法被调用的调用路径
......
4,MAT 对文件分析工具
5,gc 日志分析
-XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps -Xloggc:gc.log
gc 日志分析工具:
在线: http://gceasy.io
离线: GCViewer
来源: http://www.bubuko.com/infodetail-3336999.html