如何更改Java运行时参数?


16

在Windows上,我可以通过在Java运行时参数中键入-Xincgc -Xmx2048M之类的内容来更改Java可以使用的内存量。如何在Ubuntu中做到这一点?

Answers:


6

如果我没记错的话,它们在Linux中是相同的。使用Java命令,您有2个选择:

  • Xmx设置最大内存堆大小。
  • Xms设置最小的内存堆大小。

因此,这样做-Xmx1024m -Xms128m应该有效。

这是man java在终端中进行的摘录

-Xmsn
                Specify the initial size, in bytes, of the memory allocation
                pool. This value must be a multiple of 1024 greater than 1MB.
                Append the letter k or K to indicate kilobytes, or m or M to
                indicate megabytes. The default value is chosen at runtime
                based on system configuration. For more information, see
                HotSpot Ergonomics
                Examples:

                       -Xms6291456
                       -Xms6144k
                       -Xms6m

 -Xmxn
                Specify the maximum size, in bytes, of the memory allocation
                pool. This value must a multiple of 1024 greater than 2MB.
                Append the letter k or K to indicate kilobytes, or m or M to
                indicate megabytes. The default value is chosen at runtime
                based on system configuration. For more information, see
                HotSpot Ergonomics
                Examples:

                       -Xmx83886080
                       -Xmx81920k
                       -Xmx80m

因此,基本上可以总结出使用相同参数的疑问。

要使用此功能,请转到终端,然后使用jar程序键入它。在我的示例中,我使用的是minecraft服务器:java -Xms1024M -Xmx2048M -jar minecraft.jar

这是发生的情况的图像:

在此处输入图片说明

我应该注意,这些参数区分大小写。因此,xmx1024M与Xmx1024M不同。


好吧,我没有问我应该使用什么参数。我问应该在哪里键入参数。如果键入-Xmx1204m -Xms128m,则显示未知命令。
Andri 2012年

从您的问题来看,因为您已经在使用它们,所以您似乎已经知道在哪里键入它们。抱歉。我更新了答案,以包括命令输出的图像以及Java和参数的完整命令行。这都是从终端输入的。
路易斯·阿尔瓦拉多

10

在Linux上也是如此。如果要使选项永久化,则可以导出JAVA_OPTS环境变量。

我建议按用户进行操作。修改.profile主目录中的文件(.bash_profile如果存在,则使用bash),以包括以下行:

export JAVA_OPTS='-Xincgc -Xmx2048M'

设置此设置后,您需要重新启动Shell会话才能应用它。

另外,您也可以在/ etc / profile中修改系统范围的配置文件。

编辑:Java浏览器插件的设置在Java控制面板中定义:http : //docs.oracle.com/javase/1.4.2/docs/guide/plugin/developer_guide/control_panel.html


这对Linux有何影响?我无法转到“控制面板”,打开Java并更改设置。我该怎么办?
Andri 2012年

1
如果我没看错,那么该控制面板仅适用于浏览器的Java插件。如果您要查找的是,它位于/ jre / bin / ControlPanel(docs.oracle.com/javase/1.4.2/docs/guide/plugin/developer_guide/…
jjmontes,2012年

我不是这个意思。我需要知道的是如何使Java能够使用比现在更多的RAM。
安德里
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.