常用jdk工具(命令行)

╰半夏微凉° 2022-12-04 09:26 336阅读 0赞

jps(jvm process status tool):显示指定系统内所有虚拟机进程;

jstar(jvm statistics monitoring tool):收集虚拟机各方面的运行数据;

  • jstar[ options vmid[ interval [count]]]

  • 第一个参数 options :

  • -gc:显示有关垃圾收集堆行为的统计信息;

  • 第二个参数 vmid

  • 如果是本地虚拟机进程,vmid与本地虚拟机唯一id是一致的,

  • 如果是远程虚拟机进程,那么格式是protocol:lvmid[@hostname[:port]/servername]

  • 第三个参数:interval

  • 采样间隔,单位为秒或者毫秒;

  • 第四个参数:count

  • 要显示的样本数;

  • 使用:jstar -gc xxxx 250 10(xxxx进程,250毫秒 采集10次,不指定默认打印一次)

  • -gcutil 内存占比

jinfo(configuration info forjava):显示虚拟机配置信息;

  • jinfo[options]

  • -flag name:输出对应名称的参数;

  • -flag [+|-]name:动态开启或者关闭对应名称的参数;

  • -flag name=value:动态设定对应名称的参数;

  • -flags: 输出全部的参数;

  • -sysprops:输出系统属性;

jmap(memory map for java):可以生成java程序的dump文件,也可以查看堆内存对象信息、查看classloader的信息

以及finalizer队列;

  • jmap[options]

  • no option:查看进程的内存映像信息;

  • heap:显示java堆详细信息;

  • histo[:live]:显示堆中对象的统计信息;

  • clstats:打印类加载器信息;

  • finalizerinfo:显示在F-Queue队列等待Finalizer队列执行finalizer方法的对象;

  • dump::生成堆转储快照;

jhat(jvm heap dump browser):用于分析headdump文件,会建立一个http/html服务器,让用户可以在浏览器上查看分析结果;

  • 太过于简陋,用的不多,被其他代替;

jstack(stack trace forjava):查看或者导出java应用中线程堆栈信息;

  • jstack[options]

  • -F:当前线程挂起时,使用 jstack -l pid请求不被相应时,强制输出线程堆栈;

  • -l:除堆栈外,显示关于锁的附加信息;

  • -m:可以同事输出java以及c/c++堆栈信息;

JConsole:查看java应用程序运行概况,监视垃圾回收器管理的虚拟机内存的变化趋势,以及监控程序内的线程。

visual VM

#

发表评论

表情:
评论列表 (有 0 条评论,336人围观)

还没有评论,来说两句吧...

相关阅读

    相关 JDK命令工具

    双12买了深入理解Java虚拟机的书,其实在学校的时候,就看过PDF版的,但是最终还是买本书装装样子,今天说的东西是书籍提到的JDK常用命令,实验加上记录来加深一下印象。 j