Hello

 最初に、Helloプログラムを使って、メモリ制限についてチェックをしてみましょう。使用するメモリを指定するには、javaコマンドへ -Xmx, -Xms オプションを渡します。-XmxオプションではJavaVMが使用する最大メモリの値を、-Xmsオプションでは最小メモリの値を指定できます。デスクトップアプリケーションなどでは、使用するメモリが大きく変動するので、必要に応じて変更できるように、起動時のメモリ確保は小さくしておき、かつ、あまり沢山のメモリを使わせないために最大メモリ値を指定するということがあるのですが、サーバアプリケーションにおいて、最大の性能を出すためのチューニング方法のひとつとして、最初から-Xmsも-Xmxも同じ値を使って指定をしておき、確保されるメモリのサイズが変動しないようにしてしまうことも多いのです。

 具体的には次のように指定します。JavaVMの初期設定では-Xmxは64mとなるので、それよりもメモリが必要な場合は指定しましょう。ただし、あまり大きな値を指定すると、制限によりメモリ確保に失敗してJavaVMが起動しません。


$ /usr/local/j2sdk1.4/bin/java -Xmx72m -Xms72m Hello
hello
$ /usr/local/j2sdk1.4/bin/java -Xmx128m -Xms128m Hello
Error occurred during initialization of VM
Could not reserve enough space for object heap

 利用したコードは次のようなものになります。ファイル名はHello.javaです。

public class Hello {
public static void main(String[] args) {
System.out.println("hello");
}
}