gpt4 book ai didi

java - 如何在 Windows 上限制打包在 jar 中的 Java 应用程序的内存使用(-Xmx 似乎不起作用)

转载 作者:搜寻专家 更新时间:2023-10-31 08:16:16 28 4
gpt4 key购买 nike

我想限制 Java 应用程序的最大堆大小,但它似乎不起作用。我在 Windows 中通过 bat 从 jar 包运行应用程序。 bat 内容:

@Echo off
set CLASSPATH=.
java -Xmx32m -classpath %CLASSPATH% -jar MyApplication.jar

这应该限制 32 兆字节的最大堆大小。但是,当我使用应用程序执行消耗内存的操作时,Windows 任务管理器显示内存消耗至少达到大约 70 兆字节...我什至尝试使用 -Xmx2m,但这没有任何区别。

所以,我不完全确定问题出在哪里。内存使用中当然包含堆栈等,但程序使用的内存应该主要是堆空间......

Java版本好像是1.6.0_14。

对于那些对我所追求的东西感兴趣的人,我正在尝试了解我的应用程序在堆空间用完时如何处理某些函数。

编辑:嗯.. 当使用 JConsole 监控时,堆使用量实际上限制在 32M,这让我很惊讶。 .必须使用更多内存...

谢谢你的想法,灯子

最佳答案

我不认为 TaskManager 会专门显示堆内存。它包括程序当时正在使用的所有内存。

要分析堆内存,您可以使用分析器(如 Yourkit)并查看是否遵守堆限制 -Xmx。这也将帮助您分析您感兴趣的程序部分。

关于java - 如何在 Windows 上限制打包在 jar 中的 Java 应用程序的内存使用(-Xmx 似乎不起作用),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1443851/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com