私はメモリ上で非常に厳しい単位テストを書いています。 -Xmx2048m
パラメータが必要です。それ以外の場合はOutOfMemoryException
になります。Java:このプロセスにどれだけのメモリが割り当てられていますか?
テスト内でどのくらいのメモリが割り当てられているかを確認する方法はありますか? TestsHaveEnoughMemory
などのテストを作成し、メモリパラメータが必要であることをユーザーに知らせる説明エラーメッセージを表示して失敗すると便利です。
私はメモリ上で非常に厳しい単位テストを書いています。 -Xmx2048m
パラメータが必要です。それ以外の場合はOutOfMemoryException
になります。Java:このプロセスにどれだけのメモリが割り当てられていますか?
テスト内でどのくらいのメモリが割り当てられているかを確認する方法はありますか? TestsHaveEnoughMemory
などのテストを作成し、メモリパラメータが必要であることをユーザーに知らせる説明エラーメッセージを表示して失敗すると便利です。
のようにマックスを得ることができ、実際にJMX APIを介して使用されるメモリは、同じ得ることができますそれをする。
これを試してください。
long total_memory = Runtime.getRuntime().totalMemory(); // Total available now
long free_memory = Runtime.getRuntime().freeMemory(); // Free memory now
long max_memory = Runtime.getRuntime().maxMemory(); // Max available ever
実行時のmaxMemory()メソッドを使用すると、プロセスに割り当てられるヒープの量を取得できます。役に立つリンクhere。
あなたはこの ManagementFactory.getMemoryMXBean().getHeapMemoryUsage().getUsed();
のようにjconsoleを
に見るように、あなたがRuntime classを使用することができ、この ManagementFactory.getMemoryMXBean().getHeapMemoryUsage().getMax();
[実行時には、どのようにJavaプログラムは、それが使用しているどのくらいのメモリ伝えることができますか?]の可能複製(http://stackoverflow.com/questions/239202/during-試してみてください実行可能なJavaプログラムの記述方法、それに多くのメモリを使用することができる) –