Windows上每个Java进程的最大内存量?
对于使用-Xmx的Java进程,可以在32位Windows上分配的最大堆大小是多少?
我问,因为我想在OpenMap中使用ETOPO1数据,原始二进制浮点文件大约是910 MB。
没有什么比回答你的问题的经验实验更好的了。
我编写了一个Java程序并在指定XMX标志的同时运行它(也使用XMS = XMX来强制JVM预先分配所有内存)。 为了进一步防止JVM优化,我主动分配X个10MB对象。 我在许多JVM上运行了一些测试,增加了XMX值,同时增加了分配的MB数量,在使用Sun和IBM JVM的不同32位操作系统上,这里是结果摘要: 操作系统:Windows XP SP2,JVM:Sun 1.6.0_02,最大堆大小:1470 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) WinXP SP2,IBM JVM C:>c:ibmjdkbinjava.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 Win2003 SE,IBM JVM C:>"C:IBMjava" -Xms1850m -Xmx1850m Class1 sleeping for 5 seconds. Done. 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 这是代码: 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 <numOfObjects; 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."); } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 如何生成动态库 .dll 的符号 .lib 文件?
- winapi – 是否可以确定Windows为字体链接选择的字体?
- windows-phone-8 – Windows Phone 8.1 – MVVMLight – 为
- windows – git clone挂起“检查连接”
- windows-phone-8.1 – 在Visual Studio 2013中建立Windows电
- Windows表单C#按代码更改用户控件
- Microsoft Windows – 安装更新并重新启动(而不是安装和关闭
- Microsoft Azure Stack Security And Compliance (Azure St
- 使用win32 / C检索多个显示信息
- windows单机启动hive hiveserver2