Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
哪些Java内存分析器应用程序将在Windows 7 64位和Java 1.4 32位上工作?_Java_Memory Leaks - Fatal编程技术网

哪些Java内存分析器应用程序将在Windows 7 64位和Java 1.4 32位上工作?

哪些Java内存分析器应用程序将在Windows 7 64位和Java 1.4 32位上工作?,java,memory-leaks,Java,Memory Leaks,我试图在旧的Java1.4应用程序中查找内存泄漏。我曾尝试使用jmp,但不幸的是,我没有运气让它工作。它在Windows 7中是否真的受支持 如果有人知道任何免费/开源Java 1.4内存分析器可以在64位Windows 7上运行,请告诉我。您运行的是1.4 JVM,对吗?它不是运行在1.6 JVM上的1.4编译类吗?有什么原因不能在1.6JVM上运行应用程序,至少在开发环境中是这样吗 如果没有,内置的HProf代理应该可以工作,至少可以找到内存泄漏。它会告诉你当你杀死你的程序时对象是什么,以及

我试图在旧的Java1.4应用程序中查找内存泄漏。我曾尝试使用jmp,但不幸的是,我没有运气让它工作。它在Windows 7中是否真的受支持


如果有人知道任何免费/开源Java 1.4内存分析器可以在64位Windows 7上运行,请告诉我。

您运行的是1.4 JVM,对吗?它不是运行在1.6 JVM上的1.4编译类吗?有什么原因不能在1.6JVM上运行应用程序,至少在开发环境中是这样吗

如果没有,内置的HProf代理应该可以工作,至少可以找到内存泄漏。它会告诉你当你杀死你的程序时对象是什么,以及它们被分配到哪里


我不是100%确定,但我相信您需要使用链接文档使用-agentlib调用的-Xrunhprof调用选项,我认为这可能是在1.5中添加的。另外,我认为有一个版本的1.4支持现代调试接口,因此可以与JConsole一起使用。

SAP为eclipse提供了一个内存分析器,它提供了非常漂亮和详细的报告。检查下面的链接


我使用JMP,直到我们转向Java1.6

如果您只是验证泄漏,那么GCViewer很不错:

你已经试过了吗

jps -l
jmap -histo <pid>

我使用过YourKit Java profiler。

我最后做了以下工作:

启动应用程序时添加-XX:HeapDumpPath=C:\Temp\HeapDump参数 等待它崩溃并出现OutOfMemory异常 看看是什么占用了这么多内存。
它是在1.5JRE上运行的1.4JDK。@nbolton-这毫无意义。您的意思是说您使用1.4JDK编译,并且运行在1.5JRE上?在这种情况下,您可以使用任何您喜欢的分析器,只要它与1.5JRE一起工作,并且据我所知,它包含了所有内容。如果您在连接1.5 JRE时遇到问题,请开始检查您的系统组件和假设;其中一个不是你想象的那样。@nbolton-对不起,我的水晶球要修理了。我希望这次落选对你也有好处。
jconsole