嗨,我们正在使用unix环境中运行的进程之一的内存异常。如何识别错误(我们发现在我们的java进程中内存泄漏的可能性很小)。所以whatelse我们需要分析找到rootcauasejava中的内存溢出错误
-2
A
回答
1
我会使用像YourKit(homepage)事件探查器,让您可以轻松地查找被分配这么多的内存建议。
在任何情况下,您都应该检查为您的JVM指定了哪些设置,以了解您的程序是否需要更多堆内存。您可以通过指定-X
PARAMS设置:
java -Xmx2g -Xms512m
将开始与JVM最大堆和512MB
0
的起始大小的2Gb的如果没有内存泄漏,那么应用程序需要更多的内存。你是否离开堆内存,或者内存或本地内存?对于堆内存和perm内存,您可以分别使用-Xmx.or -XX:PermSize参数来增加分配。
但首先尝试使用探查器来验证您的应用程序是否真的没有泄漏任何内存。
相关问题
- 1. 溢出或内存错误C++
- 2. 堆栈溢出错误(Java)
- 3. Instr中的溢出错误
- 4. 内存溢出!在Linux中
- 5. Memset内存溢出
- 6. 堆内存溢出
- 7. CCSprite内存溢出
- 8. Hypertable启动时溢出内存溢出
- 9. 递归java堆栈溢出错误
- 10. Excel VBA中溢出错误
- 11. 错误在VBA中溢出
- 12. 出内存错误
- 13. ExecuteNonQuery溢出错误?
- 14. 溢出错误VBA
- 15. VB6溢出错误
- 16. Python中使用pymc的内存溢出
- 17. 溢出的css错误
- 18. Dtrace用于内存溢出?
- 19. C socket溢出内存
- 20. VS2008内存溢出异常
- 21. 内存溢出问题-opeCV
- 22. 内存(Ram)溢出Swift
- 23. C内存溢出(V2)
- 24. MVC3内存溢出异常
- 25. PDO导致内存溢出
- 26. 防止内存溢出
- 27. 内存溢出使用ImageIO.write
- 28. Java堆内存错误
- 29. Java内存堆错误
- 30. OpenGL错误下溢变成溢出?
>>我们发现在我们的java进程中内存泄漏的可能性很小 您究竟做了什么来得出这个结论?您是否使用JMX并监视堆使用情况?应用程序试图做什么? – jagamot 2010-03-18 17:22:20
@anil:如果你的Java代码和你的问题以及问题标题一样写得很好,我建议你再仔细看一下代码,以确保它不会泄漏;) – SyntaxT3rr0r 2010-03-18 17:25:29
幸运的是,你不是第一个遇到这个问题的人,所以有关于这个问题的很多问题(和答案):) http://stackoverflow.com/search?q=outofmemoryerror标准答案是:“第一个配置文件(http://java-source.net/open-source/性能分析器)应用程序并根据结果确定内存泄漏或为其提供更多内存“。真的没有其他办法。 – BalusC 2010-03-18 17:37:27