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
  
可视化的分析工具 
 
🐕 后续补充… 
                
                
                
        
    
 
 |