java内存检测工具JProfiler8.0和eclipse memory analyzer不能用。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java内存检测工具JProfiler8.0和eclipse memory analyzer不能用。相关的知识,希望对你有一定的参考价值。

在写一个程序报的错误java.lang.OutOfMemoryError: Java heap space?于是我想检测内存的使用情况。遇到两个问题。(1)先下载JProfiler8.0,按照网上的步骤安装完成,但是在与eclipse3.5整合(integrate)的时候,弹出错误:
The directory com.jprofiler.integrations.eclipse could not becreated??(2)尝试解决该问题未果,我选择换一个工具:eclipse memory analyzer 。下载安装比较正常,运行eclipse时生成了heap dump(hprof文件),但是在eclipse memory analyzer,我想打开heap dump 竟然又弹出错误:
An internal error occurred during: "Parsing heap dumpfrom 'F:\java_pid5768.hprof'".
Java heap space??

请前辈指点,先谢过。

参考技术A

虽然我具体的软件没有弄过但大体的思路知道,就当抛砖引玉了。

    你的问题是heap OOM.一般会生成hprof的堆文件,你现在已经有了。

    分析的时候不用考虑集成eclipse啊。很多工具比如jprofiler,JAVA自带的jvisualvm.exe直接就可以分析。你要找的软件就是分析JVM堆的软件就可以,如果比较大,可能需要调下初始参数-Xms -Xmx

    使用软件打开后,主要去找那些占用空间非常大的,分析内存泄露的可能。而一种可能就是内存真的不够用了,你则可以使用jmeter等来分析。

追问

你好 jprofiler需要和eclipse整合吧。我是按照一些帖子介绍的步骤,出现了问题。我现在只是想检测一下内存,应该用不到jmeter。不过还是谢谢你的回答。

追答

单单是检测内存,最最简单的就是jconsole.JAVA自带的工具,可以看到JVM虚拟机的内存使用情况,各个代都能看到。至于其它地方提到的jvisualvm.exe报错什么的,你也只有看日志,找错点,一个个去网上找答案。

本回答被提问者和网友采纳
参考技术B java 检测内存还要配置什么玩意? 直接找到你的JDK安装目录 例如:D:\Java\jdk1.6.0_10\bin\
在bin 目录下找到 jvisualvm.exe ; 打开这个玩意,要什么都能监控。追问

你好,我刚试了用jvisualvm.exe ,是打开jvisualvm.exe 后,运行我的eclipse,然后在jvisualvm.exe 上能出来我运行的程序名,但是没有反应。如果我在local下点击我的程序,直接jvisualvm死了... 请问怎么回事?

追答

这我就不清楚了 ,我用的是MyEclipse,一切正常、

JProfiler使用入门——准备工作

 

JProfiler是一个全功能的Java剖析工具(profiler),主要用于检查和跟踪系统(限于Java开发的)的性能。

 

JProfiler可以通过时时的监控系统的内存使用情况,随时监视垃圾回收,线程运行状况等手段,从而很好的监视JVM运行情况及其性能。它把CPU、线程和内存的剖析组合在一个强大的应用中。JProfiler可提供许多IDE整合和应用服务器整合功能。



      本文旨在通过简单的例子带领大家进入JProfiler的世界。我也是刚刚学习哦,大家要是有鸡蛋的话留着吃就好了,现在鸡蛋好贵的^o^ 


1、建立JBoss测试用例

打开JProfiler显示QuickStart对话框,选择An application server,locally or remotely,如下图:

 
2、选择服务器

点击Next进入“服务器选择”对话框,选择JBoss 4.x,如下图

 
3、选择启动脚本

点击Next进入“启动脚本选择”对话框,输入JBoss启动脚本(run.bat)的路径,如下图:


4、选择JVM的厂商、版本和模式

点击Next进入“JVM选择”对话框,我们选择Sun公司的hotspot 1.4.2,如下图:

 
5、输入JProfiler的端口号

点击Next进入“JProfiler端口输入”对话框,我们保持默认不变,如下图:

 

 6、选择JBoss是否在连接到JProfiler后再启动JBoss

点击Next进入“JBoss是否在连接到JProfiler后再启动”页面,这里我们保持默认选择,即在JBoss连接到JProfiler后再启动JBoss,如下图:

 

 7、确认配置

点击Next进入“确认配置”对话框,确认配置是否正确,如下图,如果不正确点击Back到相应对话框进行修改。

  

8、配置完成

点击Next进入“完成配置”对话框,点击finish完成配置,并启动JBoss服务器,控制台界面如下图:

 


      到这里JProfiler就建立起了一个简单的测试用例,后面的文章中我会陆续向大家介绍JProfiler如何测试一些具体例子。

以上是关于java内存检测工具JProfiler8.0和eclipse memory analyzer不能用。的主要内容,如果未能解决你的问题,请参考以下文章

如何在使用 JNI 的 C++/Java 项目中使用 CRT 中的工具检测内存泄漏?

Android 内存泄露总结(附内存检测工具)

检测 EC2 实例何时关闭(Java SDK)

在合理的时间范围内检测到一定程度内存泄漏的工具

如何用VS工具检测内存泄露

Android内存优化三:内存泄漏检测与监控