Jconsole
本机java自带的系统monitor具,它也可以连接到的本地远程连接java process,联系java process申请后可查看CPU,内存,主题。GC事件,能帮忙看看系统是否死锁现象,您还可以查看MBean export统接口和数据。只是我如今比較少用它了。由于有了jvisualvm。
jvisualvm
jvisualvm原本是要钱的工具。自从1.6整到jdk里面之后,幸福了我。有了jvisualvm,在图形界面条件同意的情况下,对系统性能调优,基本不须要其它工具了,也不用为系统性能调优写overload的 AOP monitor代码。
随时能够动态查看系统的性能。它比jconsole些,观察的数据更具体。
配好java环境变量之后,在console中输入jvisualvm。就能够打开jvisualvm的界面,左边有自己主动detect出来的全部java process。当然也能够连接远端process,双击要monitor的process,在监视标签页中能够看CPU。内存。线程,类的使用情况,运行垃圾回收,dump内存等,在线程标签页中时间线能够看到全部线程的动态状态图,图能够看到具体线程运行状况。抽样器能够看到每一个方法用了多少时间。甚至是多少是运行时间,多少是等待时间,也能够看到每一个线程的时间状况,默认的jvisualvm是看不了mbean的信息,能够通过安装mbean的插件看mbean的信息,还能够通过gc插件看gc的具体信息。
通过工具-》插件-》可用插件
安装自己想要的插件。假设在可用插件里面看不到不论什么信息,要注意代理是否有配置 --》通过工具-》选项来设置网络代理,插件的相关配置也会在选项里面配置。
到现阶段位置,jvisualvm已经能够很方便查看系统执行情况,并且对性能影响很小(能够通过打开jvisualvm和不打开jvisualvm的情况下进行压力測试验证)。假设认为这些信息还不够对系统调优,jvisualvm的profiler提供了更强大的功能,只是对性能影响就比較大了。能够统计每一个方法被调用了多几次,通话时间的方法。对象分配和内存gc等进一步的细节,建议仅测试的时候使用。
版权声明:本文博主原创文章,博客,未经同意不得转载。