OSDN Git Service

903fea98f2e3d508df6f656d22b385daf6b7b4f5
[hayashilib/hayashi.git] / src / jp / co / areaweb / tools / core / MemoryCheck.java
1 package jp.co.areaweb.tools.core;\r
2 \r
3 import java.text.DecimalFormat;\r
4 \r
5 public class MemoryCheck {\r
6 \r
7         /**\r
8          * \r
9          * 出力結果\r
10          *              Java メモリ情報 : 合計=1,984KB、使用量=458KB (23.1%)、使用可能最大=65,088KB\r
11          * \r
12          * JAVAのヒープサイズ変更方法\r
13          *              java -Xms64m -Xmx512m Main\r
14          *                      -Xms初期ヒープサイズ\r
15          *                              Java仮想マシンへの初期メモリ割り当て量を指定します。デフォルトは2MBです。\r
16          *                      -Xmx最大ヒープサイズ\r
17          *                              Java仮想マシンへの最大メモリ割り当て量を指定します。デフォルトは64MBです。\r
18          * \r
19          * @param args  strings\r
20          */\r
21         public static void main(String[] args) {\r
22                 System.out.println(getMemoryInfo());\r
23         }\r
24 \r
25         /**\r
26          * Java 仮想マシンのメモリ総容量、使用量、\r
27          * 使用を試みる最大メモリ容量の情報を返します。\r
28          * @return Java 仮想マシンのメモリ情報\r
29          */\r
30         public static String getMemoryInfo() {\r
31             DecimalFormat f1 = new DecimalFormat("#,###KB");\r
32             DecimalFormat f2 = new DecimalFormat("##.#");\r
33             long free = Runtime.getRuntime().freeMemory() / 1024;\r
34             long total = Runtime.getRuntime().totalMemory() / 1024;\r
35             long max = Runtime.getRuntime().maxMemory() / 1024;\r
36             long used = total - free;\r
37             double ratio = (used * 100 / (double)total);\r
38             String info = \r
39             "Java メモリ情報 : 合計=" + f1.format(total) + "、" + "使用量=" + f1.format(used) + " (" + f2.format(ratio) + "%)、" + "使用可能最大="+f1.format(max);\r
40             return info;\r
41         }\r
42 }\r