使用jvisualvm监控JAVA程序,注意对程序性能的影响
来源:互联网 发布:黄子华 知乎 编辑:程序博客网 时间:2024/05/18 17:45
最近在使用阿里的Dubbo【http://code.alibabatech.com/wiki/display/dubbo/Home-zh】做一个实时分析功能,为了提高性能,对程序进行了很多的优化工作,在此过程中JDK中的jvisualvm的确功劳不小,但是也有让我误解的地方。
先说它的功劳:
第一:可以帮我监控线程的数量,及时发现没有正常结束的线程。由于给dubbo配置了800的线程池,我当前活动的线程中守护线程为826,总数减去800个线程池中的线程,dubbo占用了26个守护线程,再多出来的线程大多就是我程序中生成的线程了。
第二:可以监控CPU的使用情况。
第三:监控堆占用内存的情况。
第四:监控总的类的加载数量。
以上四个监控,均无须修改原有的JAVA源代码,只需要只步简单的配置即可实现,详细配置可参见:【http://blog.csdn.net/ssergsw/article/details/9933227】
下面说一下它的问题:
添加了监控后,堆内存的占用情况和正常时占用有不小的偏差:
刚开始使用监控后3分钟的情况:
下面是使用监控后10分钟的情况:
对比两个图,可以看出,在没有使用监控的时候,堆内存的占用比较平衡,使用了监控后堆内存迅速增加,之后大约5分钟后GC一次,然后又慢慢上升,所以建议大家在使用监控的时候,多亲关注线程和类的加载的情况,另外,不要长期使用工具监控程序!
- 使用jvisualvm监控JAVA程序,注意对程序性能的影响
- 用JVISUALVM远程监控JAVA程序的性能
- jvisualvm监控java程序
- 使用JDK自带jvisualvm监控tomcat和java程序
- 如何使用JDK自带的jvisualvm监控java程序【Java HotSpot(TM)】
- jmx配合jvisualvm远程监控Java程序
- jvisualvm java性能监控
- SQL对程序性能的影响
- SQL对程序性能的影响
- 处理器对程序性能的影响
- cache line 对程序性能的影响
- try catch对程序性能的影响
- Cache 结构对程序性能的影响
- cpu cache对程序性能的影响
- 高速缓存对程序性能的影响
- J2ME程序开发要注意函数调用对性能的影响
- 使用jvisualvm来远程观察Java程序
- 使用jvisualVm 诊断java程序故障
- 标量子查询
- Web Form通过禁用回车键 防止defaultbutton提交表单
- codeforce -14A A. Letter
- 同余定理
- jquery实现下拉动态菜单
- 使用jvisualvm监控JAVA程序,注意对程序性能的影响
- Pycharm的远程代码编辑
- hdu3487 Play with Chain(splay)
- boost源码剖析3----内存管理shared_ptr
- ccsprite注意事项
- Google Maps地图投影全解析(1):Web墨卡托投影
- 使用非阻塞ServerSocketChannel、SocketChannel代替ServerSocket和Socket
- Hibernate4 执行SQL语句
- 个人收集关于vb的一些知识,希望以后可以温故知新咯!