假设我在生产Unix盒子上有足够的内存。而且我有一个Java后端应用程序,它不会使用太多的堆。初步测试表明,100MB似乎很好。 但是,当不加限制时,内存会增长到1GB及以上。 我可能不会在乎,如果不是因为应用程序是其中一部分的处理流似乎窒息的事实。一个可能的(非常模糊的)解释是罪魁祸首就是提到的Java应用程序。如果你不需要那么多,你应该限制java堆大小吗?
问题问题:是不是让堆不必要的高延迟垃圾回收这么长时间,当它最终启动时,它有“很多事情要做”,它会明显影响性能?
我应该提到我们还在运行Java 1.4(漂亮的老系统)。
感谢您的回复。我会看看我能否得到一些gc日志。 –