JavaでのJVMの変更


18

私は最近、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に切り替えるのですか?


質問に適切な回答を追加し(自分で回答することができます)、賛成票を獲得してください!
ブルーノペレイラ

@BrunoPereira完了!うまくいけば、それが束をカバーします。
倍音

回答:


18

実行時に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の選択肢があります。Javaランタイム環境としてOpenJDKを選択した場合、追加のオプションがあります。

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がデフォルトです。-client64ビットIcedTea6 でも指定できますが、-serverと同じバージョンを実行しているように見えます。おそらく他にもありますが、デフォルトのオプションが最も反応が良いと思います。


メモリを設定する

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

java -Xmx1024m -Xms128m 'your other parameters here'

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

それで全部です。誰かがUbuntu用の追加のJava微調整を持っている場合、コメントに残して、それらを追加します。


$ JAVA_HOME / binおよび$ JAVA_HOME / jre / binには約47個の実行可能ファイルがあり、代替システムのすべてのエントリを更新するスクリプトを要求します。/usr/lib/jvm/.java*.jinfoファイルを参照してください。
ユーザー不明

デフォルトのJVMを設定するにはどうすればよいですか?私が聞いたところでは、-serverの起動時間は長いので、ユーザーのインストールでは-clientがデフォルトではないのはなぜですか?
ダディ

デフォルトを実際に変更する方法はありますか、それとも毎回(または個々の起動スクリプトで)JVMとメモリの制限を明示的に設定する必要がありますか?
AIJ

0

OpenJDKインストール内でデフォルトのJVMを設定するには、/ usr / lib / jvm / java- version -openjdk- arch / jre / lib / arch /jvm.cfg 内にある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を決定します。

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

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.