繁体   English   中英

更改最大Java堆大小

[英]Changing maximum java heap size

正如许多资料中所述,我试图从命令行使用java -Xms512m以便将Java机器的最大堆大小设置为512 Mb。 但是出了点问题,命令行显示以下内容
在此处输入图片说明

而且,正如我直接从程序中检查的那样: long heapMaxSize = Runtime.getRuntime().maxMemory(); heapMaxSize等于954728448,约为1Gb。

这称为VM参数,并且在启动VM(JVM)时必须指定。

您可以在运行程序时指定最大堆大小:

java -Xmx1024m -jar yourJar.jar

或者,您可以在系统JAVA_OPTS上设置环境变量,并且JVM将在启动时遵循您的设置:

JAVA_OPTS="-Xmx1024m"

关于第二个问题,我将向您介绍什么是Runtime.getRuntime()。totalMemory()和freeMemory()? 因为它阐明了Runtime.getRuntime().maxMemory()和朋友返回的值。

  • -Xmx<size> :Java堆的最大大小(年轻+终身)
  • -Xms<size> :Java堆的初始大小(年轻+终身)
  • -Xmn<size> :年轻一代堆空间的大小

您遇到的问题与-Xms无关,这是由于您的java命令不完整,实际上您需要提供一个jar,其jar具有在META-INF/MANIFEST.MF或FQN中定义的主类。上课的班级。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM