Java でヒープスペースを増やす
Java では、ヒープスペースは主にガベージコレクションとオブジェクトへのメモリの割り当てに使用されます。
デフォルトのヒープスペースは、JVM をマシンにインストールするときに割り当てられますが、異なる場合があります。次のポイントは、Java で 2つの方法を使用してヒープサイズを増やす方法を示しています。
コマンドラインを使用して Java ヒープサイズを増やす
Java でヒープサイズを増やす最初の方法は、コマンドラインを使用して、デフォルトの Java ヒープスペースを上書きするコマンドを実行することです。以下の 2つのステップに従います。
ステップ 1:Java のデフォルトの最大ヒープサイズを確認する
Java でヒープのサイズを変更する前に、JVM に割り当てられているデフォルトの最大ヒープサイズを知っておく必要があります。これを行うには、最大ヒープサイズをバイト単位で返すコード Runtime.getRuntime().maxMemory()
を使用します。
プログラムでは、最大ヒープスペースをバイト単位で取得し、メガバイトやギガバイトなどのより読みやすい形式に変換します。出力は、現在のデフォルトサイズが約 1.48GB であることを示しています。
このステップは、ヒープのデフォルトサイズよりも小さいサイズを割り当てないようにするために実行します。
public class JavaExample {
public static void main(String[] args) {
double maxHeapSize = Runtime.getRuntime().maxMemory();
String sizeInReadableForm;
double kbSize = maxHeapSize / 1024;
double mbSize = kbSize / 1024;
double gbSize = mbSize / 1024;
if (gbSize > 0) {
sizeInReadableForm = gbSize + " GB";
} else if (mbSize > 0) {
sizeInReadableForm = mbSize + " MB";
} else {
sizeInReadableForm = kbSize + " KB";
}
System.out.println("Maximum Heap Size: " + sizeInReadableForm);
}
}
出力:
Maximum Heap Size: 1.48046875 GB
手順 2:コマンドラインを使用して最大ヒープサイズを設定する
Java ヒープの最大容量がわかったので、コマンドラインを使用して最大容量を増やします。
ヒープサイズを変更するために使用できるコマンドを取得するには、コマンドラインを開き、コマンドの全リストを返すコマンド java -X
を使用しますが、関心があるのは次の 2つのコマンドだけです。
コマンド -Xms
は初期および最小ヒープサイズを設定し、-Xms
は最大サイズを設定します。2 番目のコマンドを使用する必要があります。
-Xms<size> set initial Java heap size
-Xmx<size> set maximum Java heap size
コマンドラインで、最初のステップで見たプログラムを実行する次のコマンドを記述します。
-Xmx2g
を使用して、ヒープサイズを 2GB 増やします。ストレージユニットを単一の文字として記述していることに注意してください。たとえば、2GB のヒープサイズを設定する場合は、2g と記述します。
出力は、約 1.4GB のデフォルトサイズが 2.0GB に変更されたことを示しています。
java -Xmx2g JavaExample
出力:
Maximum Heap Size: 2.0 GB
統合開発環境(IDE)で Java のヒープサイズを増やす
プログラムを実行すると、IDE の Java ヒープスペースを増やすこともできます。一部の IDE にはタスクを実行するための異なる手順がある場合がありますが、これらの手順に従うと、ほとんどの IDE でヒープサイズを変更できます。
-
メニューバーに
実行
メニュー項目があります。 -
Run
メニュー項目には、Run Configurations
またはEdit Configurations
という名前のオプションがあり、これを開く必要があります。 -
ダイアログボックスが開き、構成で実行するアプリケーションの詳細が表示されます。
2つの入力ボックスがあります。1つはプログラム引数用で、もう 1つは VM 引数用です。VM 引数の入力ボックスがない場合は、
Modify Options
ボタンを使用して追加できます。 -
VM 引数の入力ボックスに、ヒープサイズを増やしてプログラムを実行する次のコマンドを記述します。
-Xmx2g
Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.
LinkedIn