SUSE 上的 jvm 堆限制

发布于 2024-08-12 08:22:10 字数 170 浏览 9 评论 0原文

我希望您能帮助我解决 SUSE 和 JDK 1.4.x 遇到的问题: 我的 suse 启用了 PAE,具有 15Gb RAM。 不幸的是,jvm 无法分配超过 1900Mb 的堆大小。 所以 java -Xmx2048m 给了我一个错误。 看来你也遇到了同样的问题,你解决了吗?我希望如此:)

谢谢 米开朗基罗

I hope you can help me on the problem we have with SUSE and JDK 1.4.x:
my suse is PAE enabled with 15Gb RAM.
unfotunately jvm cannot allocate more than 1900Mb for heap size.
So java -Xmx2048m gives me an error.
it seems you had the same problem, did you solve it? I hope so :)

thanks
Michelangelo

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

眼泪淡了忧伤 2024-08-19 08:22:10

JVM 仅限于单个连续的内存块,因此尽管您可以通过关闭不需要的进程来从系统中多调整几 MB,但看到大幅增加的唯一方法是使用 64 位 JRE 升级到 64 位操作系统。

更新: Stack Overflow 上有一个相关问题,其中有一些不错的答案:SuSE Linux 的最大 Java 堆空间是多少

The JVM is limited to a single contiguous block of memory, so although you might be able to tweak a few more MB out of your system by shutting down processes that you don't really need, the only way to see a big increase is to upgrade to a 64 bit Operating System with a 64 bit JRE.

Update: There's a related question on Stack Overflow with some nice answers: What is the Maximum Java Heap Space for SuSE Linux

涙—继续流 2024-08-19 08:22:10

在 JDK 1.4 中我认为你运气不好。它是一个 32 位 JVM,就这样。您将需要更新到更新版本的 Java。

In JDK 1.4 I think you are out of luck. It's a 32-bit JVM, period. You will need to update to a much newer version of Java.

旧情勿念 2024-08-19 08:22:10

您应该能够使用 -mx1960m,但确实不能使用 2GB。您可能想阅读 https://bugs.java.com/bugdatabase/view_bug?bug_id =4435069

运行多个 JVM 来解决这个“限制”(但是,为什么需要那么大的堆大小?)。

或者更新到 Java 1.5 以达到 32 位 JVM 理论上的 4GB 限制,实际上该限制可以低得多(请参阅 http://forums.sun.com/thread.jspa?threadID=5207549&start=15)。但是,为什么需要那么大的堆大小呢?

You should be able to use -mx1960m, but not 2GB indeed. You might want to read https://bugs.java.com/bugdatabase/view_bug?bug_id=4435069.

Run multiples JVMs to workaround this "limitation" (but, why do you need that much a heap size for?).

Or update to Java 1.5 to reach the theoretical 4GB limit of a 32-bit JVM which can be much lower in practice (see http://forums.sun.com/thread.jspa?threadID=5207549&start=15). But, again, why do you need that much a heap size for?

预谋 2024-08-19 08:22:10

只是一些更新:
- 在这台 SUSE 机器上(其中 jvm 堆最大大小为 1960m),我可以分配 3.6Gb 堆,其中包含多个每个 10Mb 的 malloc(C 编程)。所以这对我来说听起来很奇怪。
- 在另一台具有相同 jdk1.4.2 的 RH4 上我可以分配:
/usr/local/jdks/j2sdk1.4.2_16/bin/java -Xmx2648m 成功!!
你知道我这台 RH4 上的真实内存吗?只需 1024Mb!
- SUSE9 和 RH4 都启用了 PAE(我很容易更改 RAM 设置,因为我使用 VMWare)。

所以这似乎是与SUSE有关的问题。

just a couple of updates:
- on this SUSE machine (where jvm heap max size is 1960m) I can allocate 3.6Gb of heap with several malloc of 10Mb each (C programming). So it sounds quite strange to me.
- on another RH4 with same jdk1.4.2 I can allocate:
/usr/local/jdks/j2sdk1.4.2_16/bin/java -Xmx2648m with success!!
do you know my real RAM on this RH4? just 1024Mb!!!
- both SUSE9 and RH4 are PAE enabled (i changed RAM settings easly cause I use VMWare).

So it seems a problem related to SUSE.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文