java - java 1.6和1.8中的`-Xms`和`-Xmx`

标签 java memory

在我的机器上,我使用相同的命令尝试了两个不同版本的 Java,但只有其中一个可以工作。

$ java -version
java version "1.6.0_65"
Java(TM) SE Runtime Environment (build 1.6.0_65-b14-468-11M4833)
Java HotSpot(TM) 64-Bit Server VM (build 20.65-b04-468, mixed mode)

$ java -Xms1024000m -Xmx2048000m HelloWorld
'java -Xms1024000m -Xmx2048000...' terminated by signal SIGSEGV (Address boundary error)

但是使用jdk 1.8:

$ java version
java version "1.8.0_66"
Java(TM) SE Runtime Environment (build 1.8.0_66-b17)
Java HotSpot(TM) 64-Bit Server VM (build 25.66-b17, mixed mode)

$ java -Xms1024000m -Xmx2048000m HelloWorld
Hello, world!

不确定为什么会有所不同?

<小时/>

PS:我的机器(OSX 10.11.1 (15B42))有16G RAM,这里我给java一个很大的内存设置1024000m(1T) 看看它是否可以工作。我很好奇为什么使用jdk 1.8,它不会给出任何错误。

我的顶部:

Processes: 370 total, 5 running, 15 stuck, 350 sleeping, 1781 threads
17:14:59
Load Avg: 1.62, 1.56, 1.61  CPU usage: 4.1% user, 3.54% sys, 92.43% idle   SharedLibs: 125M resident, 15M data, 7908K linkedit.
MemRegions: 220057 total, 4808M resident, 111M private, 1500M shared. PhysMem: 12G used (3045M wired), 4273M unused.
VM: 1083G vsize, 527M framework vsize, 33266913(0) swapins, 36305763(0) swapouts. Networks: packets: 256063947/286G in, 534051232/503G out.
Disks: 13058865/366G read, 15889283/505G written.

最佳答案

-Xms1024000m 约为 1 TB 内存或约 1000GB。我认为你的意思是使用 -Xms1024m -Xmx2048m

关于java - java 1.6和1.8中的`-Xms`和`-Xmx`,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35742272/

相关文章:

由于未释放 Linux RAM 磁盘缓存导致的 Java OutOfMemoryError

memory - 在最新内核中使用 GFP_ZERO 的 "right"方式是什么?

java - 重写所有子类 IntelliJ 中的构造函数

java - 将 HashMap 从 Map<String, Boolean> 反转为 Map<Boolean, List<String>>

java - 使用 Java 8 模块的 Gradle Android 项目

c - C 中的共享内存 - 共享字符串

c++ - 获取 OpenCV 错误 : Insufficient memory while running OpenCV Sample Program: "stitching_detailed.cpp"

java - weka GUI 内存不足

java - 将多个微调器设置为默认值

java - AppEngine 网站中的在线用户