• jcmd 打印Java进程所涉及的基本类,线程和vm信息。
    • 查看jvm运行的时长
jcmd process_id VM.uptime
jcmd 42392 VM.uptime
42392:
150.868 s
  • 显示system.getproperties()条目
    jcmd processid VM.system_properties 或者 jinfo -sysprops process_id
  • 获取Jvm版本
jcmd process_id VM.version
jcmd 42392 VM.version
42392:
Java HotSpot(TM) 64-Bit Server VM version 25.201-b09
JDK 8.0_201
  • jvm 命令行

jcmd process_id VM_command_line

  • jvm调优标志

jcmd process_id VM.flags

  • jconsole
    • 提供jvm活动的图形化视图。包括线程的使用,类的使用和gc活动
  • jhat
    • 读取内存堆转储
    • 事后使用的工具
  • jmap
    • 提供堆转储和其它jvm内存使用的信息
    • 堆转储必须在事后分析工具中使用
  • jinfo
    • 查看jvm的系统属性,可以动态设置一些系统属性。
    • jinfo的好处在于,允许程序在执行时更改某个标志的值
    • 获取进程中所有标志的值jinfo -flags process_id
    • 检查单个标志的值jinfo -flag PrintGCDetails process_id - XX:+PrintGCDetails
  • jstack
    • 转储Java进程的栈信息
  • jstate
    • 提供gc和类装载活动的信息
  • jvisualvm
    • 监控jvm的gui工具,可以剖析运行的应用,分析jvm堆转储