我们有一个在 centos 机器上运行的套接字监听程序。令人担忧的是,通过顶部显示的应用程序的内存使用量不断增加。另一方面,如果我们使用 jstat gcutil,它会显示永久代的一些小幅增加,但到目前为止,它们不是 FGC,而是很多 YGC。这可能表明任何内存问题吗?最大内存和初始内存都设置为 256M。
问问题
735 次
1 回答
2
这可能表明任何内存问题吗?
也许。您所描述的可能是由应用程序中的错误引起的内存泄漏。如果这是问题所在,那么最终应用程序将填满 Java 堆 .... 并以OutOfMemoryError
.
如果您想确认这一点,请尝试使用更小的堆运行应用程序;即较小的最大堆大小。如果您有泄漏,应用程序将在较短的时间后崩溃。
有很多资源可用于查找 Java 内存泄漏。这里有一些:
- 解决Java内存泄漏的一般策略?
- 如何查找 Java 内存泄漏
- http://netbeans.org/kb/articles/nb-profiler-uncoveringleaks_pt1.html
- http://rejeev.blogspot.com.au/2009/04/analyzing-memory-leak-in-java.html
对此还有其他可能的解释……包括“没有问题”。但是如果你得到了OOME,那么你确实有一个真正的问题。
于 2013-03-28T03:37:11.640 回答