linux下查看jvm监控相关

 

一,查看JVM中各个内存使用情况:jmap -heap <pid>

(JMap是JDK中自带的一个用于分析JVM内存状况的工具,位于JDK的bin目录下。使用JMap可查看

目前JVM中各个代的内存状况、JVM中对象的内存的占用状况,以及导出整个JVM中的内存信息。)

 

二,gc的使用情况:jstat -gc [-h3每3行显示标题] <pid> [多少毫秒eg5000]

(jstat是JDK自带的一个轻量级小工具。主要利用JVM内建的指令对Java应用程序的资源和性能进行实时的命令行的监控,

包括了对Heap size和垃圾回收状况的监控。)

 

三,当前java线程总数数:pstree -p <pid> |wc -l

 线程被创建启动后,不并不是启动后就进入了执行状态,也不是一直处于的执行状态。

    线程的生命周期分为创建(new)、就绪(Runnable)、运行(running)、阻塞(Blocked)、死亡(Dead)五种状态。

    线程启动后不会一直霸占CPU资源,所以CPU需要在多条线程中切换执行,线程就会在多次的运行和阻塞中切换。

java阻塞线程数: jstack 16727 | grep blocked | wc -l

java运行线程数:jstack 16727 | grep runnable | wc -l

java死锁线程数:jstack 16727 | grep deadlock | wc -l

   PS:http://guafei.iteye.com/blog/1815222

   例子http://www.cnblogs.com/zhengyun_ustc/archive/2013/01/06/dumpanalysis.html

posted @ 2017-10-23 21:20  独家小K  阅读(1401)  评论(0编辑  收藏  举报