首页 > 解决方案 > 尝试设置 java JVM 堆大小时出错

问题描述

我在 AWS 设备场上运行了一些代码,导致 java 堆内存不足异常。所以我尝试在本地运行一些 java JVM 堆设置,看看是否可行。这是我尝试过的:

set java -Xms262144,我知道它是以字节为单位的,因此 262144 可能没有意义,因为太小了,但至少证明这个脚本在语法上是正确的。

C02ZxxxGVCF:util i7xxxx$ java -Xms262144
Error occurred during initialization of VM
 Too small initial heap

所以接下来我确实将大小增加到 268435456,即 256Mb,但它似乎根本没有接受。请参阅终端的以下输出。

C02ZxxxGVCF:util i7xxxxx$ java -Xms268435456
Usage: java [options] <mainclass> [args...]
           (to execute a class)
   or  java [options] -jar <jarfile> [args...]
           (to execute a jar file)
   or  java [options] -m <module>[/<mainclass>] [args...]
       java [options] --module <module>[/<mainclass>] [args...]
           (to execute the main class in a module)
   or  java [options] <sourcefile> [args]
           (to execute a single source-file program)

 Arguments following the main class, source file, -jar <jarfile>,
 -m or --module <module>/<mainclass> are passed as the arguments to
 main class.

请问有什么提示吗?

标签: javaout-of-memoryheap-memory

解决方案


如“用法”中所示,必须指定 Java 类名或 jar 名。例如,

java -Xms256m HelloWorld

在这里而不是 HelloWorld 指定您的 java 类名或

java -Xms256m -jar hello.jar

在这里而不是 HelloWorld 指定您的 jar 名称


推荐阅读