Java中增加堆大小| Java Debug 笔记

270 阅读2分钟

本文正在参加「Java主题月 - Java Debug笔记活动」,详情查看 活动链接

问题:Java中增加堆大小

我用 Windows 2003 server (64-bit)工作,有8gb RAM。如何增加堆内存的最大值?我使用-Xmx1500m标志将堆大小增加到1500mb。我可以将堆占用的内存增加到物理内存的75% (6gb heap)吗?

回答一

在32位系统上可以增加到2GB。如果你在64位系统上,你可以升得更高。如果你写错了,不用担心,如果你在32位系统上要求5g, java会弹出一个无效的值的警告并退出。

正如其他人已经说的,使用cmd-line标志-例如。

java -Xmx6g myprogram

您可以通过输入java -X获得完整的列表(或者说几乎完整的列表)。

回答二

It is possible to increase heap size allocated by the JVM by using command line options Here we have 3 options

通过使用命令行选项,可以增加JVM分配的堆大小。这里有3个选项

-Xms<size>        set initial Java heap size
-Xmx<size>        set maximum Java heap size
-Xss<size>        set java thread stack size
java -Xms16m -Xmx64m ClassName

在上面一行中,我们可以将最小的堆设置为16mb,最大的堆设置为64mb

回答三

在32位JVM上,理论上可以设置的最大堆大小是4gb。要使用更大的堆大小,您需要使用64位JVM。试试下面的:

java -Xmx6144M -d64

-d64标志很重要,因为它告诉JVM以64位模式运行。

回答四

这只适用于64位版本的Java。打开控制面板并单击Java图标。在Java控制面板的小窗口中,单击Java菜单栏,然后单击查看按钮。

如果您有两个Java平台,禁用以前版本的Java,然后单击Runtime参数输入文本的地方并写入-Xmx1024m或小于RAM大小的值。不要将堆大小增加到等于RAM,否则系统将崩溃。

文章翻译自Stack Overflow:stackoverflow.com/questions/1…