JVM 命令行工具
常用JDK命令行工具在JDK安装目录的bin下,
- jps
- jstack
- jstat
- jinfo
- jmap
- jhat
jps 查看所有的Java进程
命令 | 作用 |
---|
jps -q | 查看当前服务器上所有的Java进程 | jps -l | 与上述操作类似,同时显示启动类名 | jps -v | 查看对应进程的jvm参数 | jps -m | 查看对应进程启动时,传给main函数的参数 |
- jps -v
jstat 监视虚拟机各种运行状态信息
如查询类加载信息,JIT信息,内存使用,gc信息
格式如下,
jstat -<option> [-t] [-h<lines>] <vmid> [<interval> [<count>]]
🐖:
jstat -gcnew -h3 7568 1000 9
表示 每隔1000ms,查看进程7568的新生代信息,共查看9次,每3行打印一次头部(标题) jstat参考guide哥
jinfo 实时查看和调整虚拟机各项参数
| |
---|
jinfo vmid | 输出jvm进程的全部参数和系统属性 | jinfo -flag name vmid | 查看对应JVM参数的具体值 | jinfo -flag [+|-]name vmid | 运行状态下,动态开启关闭布尔型JVM参数 | jinfo -flag name=[value] vmid | 运行状态下,动态设置JVM参数值 |
jmap 生成堆转储快照
生成堆转储快照的三种方式
- jmap
- -XX:+HeapDumpOnOutOfMemoryError
- linux下 kill -3 发送进程退出信号,也可存储dump信息
使用:
jmap -dump:format=b,file=path vmid
🐖:jmap不仅能生成堆转储快照,还能查询堆和方法区的详细信息,如空间使用率,垃圾回收器等,以及查询finalizer执行队列等
可使用jmap --help 查看常用命令
jmap查看堆内存详细信息,
jmap -heap 7568
jstack 生成虚拟机当前时刻的线程快照
jstack vmid
可视化的分析工具
🐕 后续补充…
|