【发布时间】:2009-09-18 11:01:48
【问题描述】:
我想限制 Java 应用程序的最大堆大小,但它似乎不起作用。我正在通过 Windows 中的 bat 从 jar 包中运行应用程序。蝙蝠内容:
@Echo off
set CLASSPATH=.
java -Xmx32m -classpath %CLASSPATH% -jar MyApplication.jar
这应该将最大堆大小限制为 32 兆字节。但是,当我使用应用程序执行消耗内存的操作时,Windows 任务管理器显示内存消耗至少达到 70 兆字节……我什至尝试使用 -Xmx2m 但这没有任何区别。
所以,我不完全确定问题出在哪里。内存使用中当然包含堆栈等,但程序使用的内存应该主要是堆空间......
Java 版本好像是 1.6.0_14。
对于那些对我所追求的东西感兴趣的人,我想看看我的应用程序在堆空间用完时会如何处理某些函数。
编辑:嗯.. 当使用JConsole 进行监控时,堆使用量实际上被限制为 32M,这让我感到惊讶。必须使用更多内存...
感谢您的想法, 图子
【问题讨论】:
标签: java memory jar memory-management