在我的机器中,我使用相同的命令尝试了两个不同版本的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,它不会给出任何错误。
我的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.
答案 0 :(得分:1)
-Xms1024000m
大约有1 太字节 的内存或大约1000GB。我认为你的意思是使用-Xms1024m -Xmx2048m