最近在使用阿里的Dubbo【http://code.alibabatech.com/wiki/display/dubbo/Home-zh】做一个实时分析功能,为了提高性能,对程序进行了很多的优化工作,在此过程中JDK中的jvisualvm的确功劳不小,但是也有让我误解的地方。
先说它的功劳:
第一:可以帮我监控线程的数量,及时发现没有正常结束的线程。由于给dubbo配置了800的线程池,我当前活动的线程中守护线程为826,总数减去800个线程池中的线程,dubbo占用了26个守护线程,再多出来的线程大多就是我程序中生成的线程了。
第二:可以监控CPU的使用情况。
第三:监控堆占用内存的情况。
第四:监控总的类的加载数量。
以上四个监控,均无须修改原有的JAVA源代码,只需要只步简单的配置即可实现,详细配置可参见:【