32位java 最大内存_在Windows中每个java进程的最大内存量?

没有什么比经验实验来回答你的问题。

我已经写了一个Java程序并运行它,同时指定了XMX标志(也使用XMS = XMX来强制JVM预先分配所有的内存)。

为了进一步保护JVM优化,我主动分配X个10MB对象。

我在许多JVM上运行了许多测试,增加了XMX的价值,同时使用Sun和IBM JVM在不同的32位操作系统上增加了MB分配的数量,以下是结果摘要:

操作系统:Windows XP SP2,JVM:Sun 1.6.0_02,最大堆大小:1470 MB

操作系统:Windows XP SP2,JVM:IBM 1.5,最大堆大小:1810 MB

操作系统:Windows Server 2003 SE,JVM:IBM 1.5,最大堆大小:1850 MB

操作系统:Linux 2.6,JVM:IBM 1.5,最大堆大小:2750 MB

这里是详细的运行尝试以及分配类帮助程序源代码:

WinXP SP2,SUN JVM:

C:>java -version

java version "1.6.0_02"

Java(TM) SE Runtime Environment (build 1.6.0_02-b06)

Java HotSpot(TM) Client VM (build 1.6.0_02-b06, mixed mode)

java -Xms1470m -Xmx1470m Class1 142

...

about to create object 141

object 141 created

C:>java -Xms1480m -Xmx1480m Class1 145

Error occurred during initialization of VM

Could not reserve enough space for object heap

Could not create the Java virtual machine.

WinXP SP2,IBM JVM

C:>c:\ibm\jdk\bin\java.exe -version

java version "1.5.0"

Java(TM) 2 Runtime Environment, Standard Edition (build pwi32devifx-20070323 (if

ix 117674: SR4 + 116644 + 114941 + 116110 + 114881))

IBM J9 VM (build 2.3, J2RE 1.5.0 IBM J9 2.3 Windows XP x86-32 j9vmwi3223ifx-2007

0323 (JIT enabled)

J9VM - 20070322_12058_lHdSMR

JIT - 20070109_1805ifx3_r8

GC - WASIFIX_2007)

JCL - 20070131

c:\ibm\jdk\bin\java.exe -Xms1810m -Xmx1810m Class1 178

...

about to create object 177

object 177 created

C:>c:\ibm\jdk\bin\java.exe -Xms1820m -Xmx1820m Class1 179

JVMJ9VM015W Initialization error for library j9gc23(2): Failed to instantiate he

ap. 1820M requested

Could not create the Java virtual machine.

Win2003 SE,IBM JVM

C:>"C:\IBM\java" -Xms1850m -Xmx1850m Class1

sleeping for 5 seconds.

Done.

C:>"C:\IBM\java" -Xms1880m -Xmx1880m

Class1

JVMJ9VM015W Initialization error for library j9gc23(2): Failed to instantiate he

ap. 1880M requested

Could not create the Java virtual machine.

Linux 2.6,IBM JVM

[root@myMachine ~]# /opt/ibm/java2-i386-50/bin/java -version

java version "1.5.0"

Java(TM) 2 Runtime Environment, Standard Edition (build pxi32dev-20060511 (SR2))

IBM J9 VM (build 2.3, J2RE 1.5.0 IBM J9 2.3 Linux x86-32 j9vmxi3223-20060504 (JIT enabled)

J9VM - 20060501_06428_lHdSMR

JIT - 20060428_1800_r8

GC - 20060501_AA)

JCL - 20060511a

/opt/ibm/java2-i386-50/bin/java -Xms2750m -Xmx2750m Class1 270

[root@myMachine ~]# /opt/ibm/java2-i386-50/bin/java -Xms2800m -Xmx2800m Class1 270

JVMJ9VM015W Initialization error for library j9gc23(2): Failed to instantiate heap. 2800M requested

Could not create the Java virtual machine.

这里是代码:

import java.util.StringTokenizer;

public class Class1 {

public Class1() {}

private class BigObject {

byte _myArr[];

public BigObject() {

_myArr = new byte[10000000];

}

}

public static void main(String[] args) {

(new Class1()).perform(Integer.parseInt(args[0]));

}

public void perform(int numOfObjects) {

System.out.println("creating 10 MB arrays.");

BigObject arr[] = new BigObject[numOfObjects];

for (int i=0;i

System.out.println("about to create object "+i);

arr[i] = new BigObject();

System.out.println("object "+i+" created");

}

System.out.println("sleeping for 5 seconds.");

try {

Thread.sleep(5000);

}catch (Exception e) {e.printStackTrace();}

System.out.println("Done.");

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值