栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Windows上每个Java进程的最大内存量?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Windows上每个Java进程的最大内存量?

回答您的问题,没有什么比经验实验更好。我编写了一个Java程序并在指定XMX标志的同时运行它(还使用XMS =
XMX来强制JVM预分配所有内存)。为了进一步防止JVM优化,我积极分配了X个10MB的对象。我在使用Sun和IBM
JVM的不同32位操作系统上,对许多增加XMX值并增加分配的MB数量的JVM进行了许多测试,以下是结果摘要:

操作系统: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-版本Java版本“ 1.6.0_02”Java(TM)SE运行时环境(内部版本1.6.0_02-b06)Java HotSpot(TM)客户端VM(内部版本1.6.0_02-b06,混合模式)java -Xms1470m -Xmx1470m Class1 142...即将创建对象141创建对象141C:> java -Xms1480m -Xmx1480m Class1 145VM初始化期间发生错误无法为对象堆保留足够的空间无法创建Java虚拟机。

WinXP SP2,IBM JVM

C:> c: ibm  jdk  bin  java.exe -versionJava版本“ 1.5.0”Java™2 ​​Runtime Environment,标准版(内部版本pwi32devifx-20070323(如果ix 117674:SR4 + 116644 + 114941 + 116110 + 114881))IBM J9 VM(内部版本2.3,J2RE 1.5.0 IBM J9 2.3 Windows XP x86-32 j9vmwi3223ifx-20070323(已启用JIT)J9VM-20070322_12058_lHdSMR准时-20070109_1805ifx3_r8GC-WASIFIX_2007)JCL-20070131c: ibm  jdk  bin  java.exe -Xms1810m -Xmx1810m Class1 178...即将创建对象177创建对象177C:> c: ibm  jdk  bin  java.exe -Xms1820m -Xmx1820m Class1 179JVMJ9VM015W库j9gc23(2)的初始化错误:无法实例化他ap。要求1820M无法创建Java虚拟机。

Win2003 SE,IBM JVM

C:>“ C: IBM  java” -Xms1850m -Xmx1850m类别1睡5秒钟。做完了C:>“ C: IBM  java” -Xms1880m -Xmx1880m 1类JVMJ9VM015W库j9gc23(2)的初始化错误:无法实例化他ap。要求1880M无法创建Java虚拟机。

Linux 2.6,IBM JVM

[root @ myMachine〜]#/ opt / ibm / java2-i386-50 / bin / java -versionJava版本“ 1.5.0”Java™2 ​​Runtime Environment,标准版(内部版本pxi32dev-20060511(SR2))IBM J9 VM(内部版本2.3,J2RE 1.5.0 IBM J9 2.3 Linux x86-32 j9vmxi3223-20060504(已启用JIT)J9VM-20060501_06428_lHdSMR准时-20060428_1800_r8GC-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类别1 270JVMJ9VM015W库j9gc23(2)的初始化错误:无法实例化堆。要求2800M无法创建Java虚拟机。

这是代码:

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.");    }}


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/427886.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号