この記事では、Eclipseの方法(2種類)を紹介して、JVMパラメーターチューニングを変更し、次のように共有します。
一般的に、Eclipseに関連する設定を設定しない場合、スタートアップが遅く、使用するのが良いと常に感じるでしょう。実際、Eclipseの関連パラメーターを構成する限り、大幅に改善されます。
2つの方法があります。
1. Eclipse構成ファイルEclipse.iniを開き、-xmxを変更します(その値はJVMが使用できる最大メモリを表します)
2。Javaプログラムを実行するときは、[実行]> [configuration-> jumentsを実行し、-xms100m -xmx800mを入力する]を選択します(-xmsはJVMが起動するときに割り当てられたメモリサイズを表し、-xmxは割り当てられるメモリの最大量を表します)。
今日、私がEclipseの写真にドキュメントをテストしていたとき、次のエラーが報告されました。
Java.lang.outofmemoryerror:Java Heap Space
上記の例外情報から、JVMが必要とするメモリが仮想マシンに割り当てた最大メモリを超えていることがわかります。したがって、問題は、EclipseでJVMの最大メモリを設定する方法に変わります。
1. Eclipse.iniファイルを変更してみてください(この方法では機能しません)
EclipseディレクトリでEclipse.iniファイルを見つけ、次のコンテンツを変更します。
-xms40m-xmx512m
それを変更した後、日食を再起動した後、それはまったく機能しないことがわかりました。後でいくつかの情報をチェックした後、ここで設定された最小メモリと最大メモリがJVMが使用するためのものであることが判明しました。このメモリ値には、Eclipse自体が使用するメモリが含まれています。
2。JDKを変更してメモリを使用します(この方法は実行可能です)
[ウィンドウ] - > [設定] - > [Java] - > eclispeにJREをインストールし、右側の[編集]ボタンをクリックし、編集インターフェイスの「デフォルトVM引数」オプションの次の値を入力します。
-XMS64M -XMX128M
3.実行構成を変更する(この方法は実行可能)
コードを右クリックして、「as」 - > "run configurations"を順序でクリックし、「VM引数」で次の値を入力します。引数パラメーター。
-XMS64M -XMX128M
ヒープメモリは、主に次のJVMパラメーターを介して設定されています。
| -xmx512m | 通常、物理メモリの1/4に設定された最大総ヒープメモリ |
| -xms512m | 初期の総ヒープメモリは通常、最大ヒープメモリと同じくらい大きく設定されるため、現在のヒープ使用量に応じてヒープサイズを調整する必要はありません。 |
| -xmn192m | ヒープメモリを備えたヤング、太陽は正式に3/8のヒープ全体を推奨しています |
| ヒープメモリの構成 | トータルヒープメモリ=ヒープメモリ付きヤング +ヒープメモリ付きの古い +ヒープメモリが持続する |
| 記憶の山がある若い | オブジェクトは作成されたときにここに置かれました |
| 記憶の山があります | オブジェクトは実際にリサイクルされる前にここに配置されます |
| ヒープメモリで持続します | クラスファイル、メタデータなどがここに配置されています |
| -xx:permsize = 128m | 永続的なベルトヒープの初期サイズ |
| -xx:maxpermsize = 128m | 永続的なバンドヒープの最大サイズ、デフォルトの日食は256mです。 JDKをコンパイルしたい場合は、クラスが多すぎるため、これを非常に大きく設定する必要があります。 |
4.現在のJVMメモリコードをクエリします
以下は、現在のJVMメモリサイズを照会するコードです。上記の設定後にJVMメモリが変更されるかどうかをテストできます。 JVMメモリの構成アイテムを増やした後、Eclipseを再起動する必要はありません。特定のコードは次のとおりです。
public class testmemory { / ** * @param args * / public static void main(string [] args){system。 out .println( "メモリ情報:" + tomemoryinfo()); } / *: int nfreememory =(int)(curruntime.freememory() / 1024 /1024); int ntotalmemory =(int)(currruntime.totalmemory() / 1024 /1024); nfreememory + "m/" + ntotalmemory + "m(free/total)"; }}上記はこの記事のすべての内容です。みんなの学習に役立つことを願っています。誰もがwulin.comをもっとサポートすることを願っています。