1

32ビットのUbuntu OSです

rob@laptop:~$ uname -a
Linux laptop 3.5.0-37-generic #58~precise1-Ubuntu SMP Wed Jul 
10 17:51:56 UTC 2013 i686 i686 i386 GNU/Linux


rob@laptop:~$ java -version
java version "1.7.0_25"
OpenJDK Runtime Environment (IcedTea 2.3.10) (7u25-2.3.10-1ubuntu0.12.04.2)
OpenJDK Server VM (build 23.7-b01, mixed mode)


rob@laptop:~$ sudo update-alternatives --config java
There are 3 choices for the alternative java (providing /usr/bin/java).

Selection    Path                                           Priority   Status
0            /usr/lib/j2re1.6-ibm/jre/bin/java               1200      auto mode
1            /home/rob/Downloads/jre1.7.0_25/bin/java        1         manual mode
2            /usr/lib/j2re1.6-ibm/jre/bin/java               1200      manual mode
* 3            /usr/lib/jvm/java-7-openjdk-i386/jre/bin/java   1051      manual mode

2g以上のヒープで実行できるようにしたい

rob@laptop:~$ java -Xmx3g -jar tool.jar 
Error occurred during initialization of VM
Could not reserve enough space for object heap
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.

rob@laptop:~$ free -g
             total       used       free     shared    buffers     cached
Mem:            15          2         12          0          0          1
4

2 に答える 2

5

いいえ。32 ビット カーネル (およびおそらく 32 ビット CPU) は、選択した OS とカーネルで JVM (またはその他の 64 ビット実行可能ファイル/ELF) の 64 ビット実行可能ファイルを実行できません。

于 2013-08-15T23:08:58.503 に答える
0

私が見る限り、あなたはこれがどのハードウェアであるかについて言及していません。

32 ビット / 64 ビットの問題は、ハードウェアの基本的なワード サイズとは何か、およびプロセッサにはそのサイズを使用する命令があります。そのため、64 ビット用にビルドされたソフトウェアはこれらの命令を使用し、何らかの方法で 32 ビット マシンで実行するとクラッシュします。

必要なことを行うには、マシンが 64 ビットの場合、64 ビットの Linux をインストールしてから 64 ビットの JVM をインストールできます。

于 2013-08-15T23:15:59.890 に答える