[英]In Java, how do I find out what is my maximum heap size?
我在 Java 中有以下類:
public class MemoryUsage
{
public static void main(String[] args)
{
Vector v = new Vector();
while (true)
{
byte b[] = new byte[1048576];
try {
Thread.sleep(200);
} catch (InterruptedException ie){}
v.add(b);
Runtime rt = Runtime.getRuntime();
System.out.println( "free memory: " + rt.freeMemory() );
}
}
public void showCurrentTime()
{
long time = System.currentTimeMillis();
System.out.println(time);
}
}
我想限制這個程序可以使用多少內存。 我嘗試設置初始和最大大小(從命令行),如下所示:
C:\JMX_code\Memory_test>java -Xms2m -Xmx4068M MemoryUsage
Error occurred during initialization of VM
The size of the object heap + VM data exceeds the maximum representable size
但這不起作用。 我如何弄清楚我自己的最大堆大小是多少?
我的 Java 版本信息。 如下:
Java(TM) SE 運行時環境(構建 1.7.0_02-b13)Java HotSpot(TM) 64 位服務器 VM(構建 22.0-b10,混合模式)
嘗試將其更改為:
-Xms2034M -Xmx4068M MemoryUsage
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.