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

时间:2016-03-02 08:45:56

标签: 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一个很大的内存设置1024000m1T),看看它是否可行。我很好奇为什么使用jdk 1.8,它不会给出任何错误。

我的top

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.

1 个答案:

答案 0 :(得分:1)

-Xms1024000m大约有1 太字节 的内存或大约1000GB。我认为你的意思是使用-Xms1024m -Xmx2048m