web-dev-qa-db-ja.com

JavaでのJVMの変更

wiki ページで異なるJVMを発見したのはごく最近で、いじくりだすと思いました。ただし、UbuntuでJavaを構成する方法に関するドキュメントを見つけるのは困難でした。

たとえば、使用しているJREまたはJDKを変更したい場合、ターミナルをクラックして、

Sudo update-alternatives --config Java

そして、インストールされているバージョンの1つから選択します。

JVMの権利を理解している場合(そうでない場合もあります)、代わりのJVM(JAMVMなど)を使用するようにopenJDKを構成し、そのように実行できます。

jamvm -jar foo.jar

2つの質問、

1:JVMの概念は正しいですか?同様に、これは可能ですか?

2:その場合、JVMをどのように構成し、デフォルトを選択したJVMに切り替えるのですか?

18
OVERTONE

実行時にJavaをいじくり回すための参照としてこれを自由に使用してください。

JREの選択

JREを選択するには、次を使用します

Sudo update-alternatives --config Java

これにより、次のような出力が得られます。

  Selection    Path                                            Priority   Status
------------------------------------------------------------
  0            /usr/lib/jvm/Java-6-openjdk/jre/bin/Java         1061      auto mode
* 1            /usr/lib/jvm/Java-6-openjdk/jre/bin/Java         1061      manual mode
  2            /usr/lib/jvm/Java-6-Sun/jre/bin/Java             63        manual mode
  3            /usr/lib/jvm/Java-7-openjdk-AMD64/jre/bin/Java   1051      manual mode

次に、番号の選択により、必要なJavaランタイムを選択できます。


JVMの選択

Sun/Oracleには、-serverと-clientの2つのJVMの選択肢があります。 OpenJDKをJavaランタイム環境として選択した場合、追加のオプションがあります。

他のパラメーターなしでJavaを端末に入力すると、ヘルプにいくつかのオプションのVMがリストされます。 OpenJDKに付属しているものはわかりませんが、3つの人気があるのはJamVM、Zero、Cacao

これらを使用するには、単に入力します

Java -jamvm 'your other parameters here'
Java -cacao 'your other parameters here'
Java -zero 'your other parameters here'
Java -server 'your other parameters here

通常、-server VMがデフォルトです。 -clientを指定することもできますが、64ビットIcedTea6では、-serverと同じバージョンを実行しているように見えます。おそらく他にもありますが、デフォルトのオプションが最も反応が良いと思います。


メモリを設定する

最後に、Javaのメモリを設定する方法(理由)

Java -Xmx1024m -Xms128m 'your other parameters here'

これにより、Javaプログラムに許可されるメモリが最大1024 MBに制限され、初期メモリサイズが128 MBに設定されます。これは、最小システム要件を定義する優れた方法です。 Javaコマンドの Java 6のマニュアルページ は、これらのオプションなどについて説明しています。

それで全部です。 UbuntuにJavaの調整が追加されている場合は、コメントに残して、追加します。

18
OVERTONE

OpenJDKインストール内でデフォルトのJVMを設定するには、/ usr/lib/jvm/Java -version-openjdk -Arch内にあるjvm.cfg構成ファイルを編集する必要があります/jre/lib/Arch/jvm.cfg

Ubuntuは、OpenJDKバージョンに応じて/ etc /ディレクトリ内にjvm.cfgファイルを公開します。 /etc/Java-6-openjdk/jvm-Arch.cfgまたは/etc/Java-7-openjdk/jvm-Arch.cfg

Jvm.cfgファイル内の一番上の-jvmname KNOWN行は、デフォルトのJVMを決定します。

使用可能な構成ツールはないため、これらのファイルを手動で見つけて編集する必要があります。

0
xranby