美文网首页
jvm常用监控工具

jvm常用监控工具

作者: 森林中大鸟 | 来源:发表于2020-05-18 06:10 被阅读0次

    jdk 命令行工具

    • jsp

      可列出正在执行的虚拟机进程,并显示虚拟机执行的主类的名称,及这些进程的本地虚拟机的唯一ID

      选项:

      -q 只列出本地id,省略主类名

      -m 输出虚拟机启动进程时传递给主类函数的参数

      -l 输出主类全名。如执行的时=是jar包,输出jar路径

      -v 输出虚拟机进程启动时jvm参数

    • jstat

      用于监控虚拟机运行时的各种状态信息。可以显示本地或远程虚拟机进程中的类装载,内存,垃圾收集,JIT编译等运行数据。运行期间定位虚拟机性能问题的首选命令行工具。

      命令格式: jshat [option vmid [interval[s|ms] [count] ] ]

      本地虚拟机进程vmid 与LVMID 一致,远程虚拟机进程 vmid 格式为:

      [protocol:] [//] LVMID [@hostname[:port]/servername]

      interval 代表间隔 count 代表次数,省略说明只查一次

      常用选项:

      -class 监视类装载,卸载数量,总空间及类装载所消耗的时间

      -gc 监视堆状况,包括Eden区,2个survivor区,老年代,永久代等数量,已用空间,gc时间合计等信息

      -gcutil 与-gc基本相同,但输出主要关注已使用空间占总空间的百分比。

      -gccause 与-gcutil功能一样,但是会额外输出导致上一次gc产生的原因。

    • jinfo

      作用是实时的查看和调整虚拟机的各项参数

    • jmap

      可用于生成堆转储快照,查询finalize执行队列,java堆和永久代的详细信息

    • jhat

      分析生成的堆转储快照

    • jstack

      用于生成虚拟机当前时刻的线程快照,即当前虚拟机内每一条线程正在执行的方法堆栈集合。主要用于定位线程长时间停顿的原因,死锁,死循环,请求外部资源导致的等待。

      jstack [option] vmid

      选项:

      -F 当正常输出的请求不被响应时,强制输出线程堆栈

      -l 除线程堆栈外,显示关于锁的信息

      -m 如果调用本地方法的话,可以显示c/c++的堆栈

      java.lang.Thread的getAllStackTraces()方法用于获取虚拟机中所有线程的StackTraceElement对象。可调用该方法在管理页面输出,通过浏览器来查看线程堆栈。

    jdk可视化工具

    位于jdk的bin目录下

    • jConsole

    • VisualVM

    相关文章

      网友评论

          本文标题:jvm常用监控工具

          本文链接:https://www.haomeiwen.com/subject/odjyohtx.html