【发布时间】:2010-11-02 19:50:48
【问题描述】:
我有一个相当计算密集的 Java 基准程序,我正在 Linux 服务器上进行测试。它在我的 Macbook 上运行良好。
如果我在服务器上运行它,会发生以下情况:一旦内存占用达到大约 324 MB,程序就会开始停止运行。显然,一些限制禁止它使用更多内存,垃圾收集器必须做越来越多的工作才能保持在这个限制之下。在某些时候,会抛出“超出 GC 开销”异常。
我用-Xmx16000m 启动java,所以这不可能是内存限制。其他可能的限制是什么?
这些是我正在使用的 Java 版本:
Macbook:
java 版本“1.5.0_16”
Java(TM) 2 运行时环境,标准版(内部版本 1.5.0_16-b06-284)
Java HotSpot(TM) 客户端 VM(内部版本 1.5.0_16-133,混合模式,共享)
Linux 服务器:
java 版本“1.6.0_12”
Java(TM) SE 运行时环境(内部版本 1.6.0_12-b04)
Java HotSpot(TM) 64 位服务器 VM(内部版本 11.2-b01,混合模式)
【问题讨论】:
标签: java