java Xmx最大能设为多少

我机器是12G的物理内存,win7 64位的操作系统,jdk 1.7 32位的,我用eclipse的run as java application启动应用程序,启动参数设置了-Xmx1100m -Xms1100m竟然报错
Error occurred during initialization of VM
Could not reserve enough space for object heap

把上面的值修改为1024m就ok了

很不理解,为啥,按照道理32位的jdk,至少能设置2G的内存吧,怎么才能1G,而且我也确认了,再出错的那个时刻,系统可用的物理内存,至少还有5G,不理解,还望各位指点

0

2个回答

你需要看一下你有多少可供分配,先用eclipse默认参数启动,看一下剩余内存有多少?×80%配置到Xmx里,Xms再减一半

试试看吧。

0

-Xms: 就是初始堆大小占物理内存的1/64(<1GB) 默认(MinHeapFreeRatio参数可以调整)空余堆内存小于40%时,JVM就会增大堆直到-Xmx的最大限制.

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
JVM Xmx 能够设置的最大值
可以设置的最大JVM内存和JVM版本以及操作系统版本有关,一般Windows下1200-1500M左右,Linux下最大能到2600M; 具体可以使用命令 java -XmxXXXXM -version 来进行测试(如:java -Xmx1024M -version),然后逐渐的增大XXXX的值,如果执行正常就表示指定的内存大小可用,否则会打印错误信息。 测试32位win、java 1...
Java之最大堆内存设置(-Xmx)
Java之最大堆内存设置(-Xmx) 问题起因:Could not initialize the java virtual machine. 在程序启动时,无法启动服务,查看Windows事件日志,发现如上错误信息。后来发现,该问题的是由于-Xmx设置的太大引起的。 那么设置多少服务才可以启动呢?-Xmx的最大值根据运行环境的不同而有所差异,具体可以使用java -Xmx2048m
为什么虚拟机占用的实际内存超出了 -xmx 设置的最大值
JBoss服务器,启动参数中设置了最大堆内存为3072M,运行一段时间后在系统任务管理器看到相应的java.exe进程占用了5G内存
JVM内存设置多大合适?Xmx和Xmn如何设置?
本文地址:https://www.dutycode.com/jvm_xmx_xmn_xms_shezhi.html 除非注明,文章均为 www.dutycode.com 原创,欢迎转载!转载请注明本文地址,谢谢。 问题: 新上线一个java服务,或者是RPC或者是WEB站点, 内存的设置该怎么设置呢?设置成多大比较合适,既不浪费内存,又不影响性能呢? 分析:
Tomcat容器的最大并发数
TOMCAT,应用支持多少最大并发数,不是应用控制的,是容器控制的, 如果某个项目上的同时并发数最大,哪么请调整TOMCAT对外的最大并发数,以TOMCAT7为例, tomcat配置文件conf\server.xml中的配置中,和连接数相关的参数有: minProcessors:最小空闲连接线程数,用于提高系统处理性能,默认值为10maxProcessors:最大连接线程数,即:
JVM -Xmx -Xms 配置误区(越大越好?越大并发量越大?)
JVM -Xmx -Xms 配置,与误区 -Xmx1024m 越大越好? 作者在一家小公司,负责程序的开发和维护,每当(x64环境)线上的服务节点出现内存溢出的情况我总是采取 提高 -Xmx1024m 的措施来增加堆内存(Heap)大小的问题, 在我下意识里我一直以为,程序访问量大了去提高Heap就ok  实则不然。 Heap越大限制并发量 进程模型 如图所示: x86的机器上的...
JAVA问题定位大杂汇之java 虚拟机内存占用超出 -Xmx设置
最近一个同事遇到一个诡异的现象,jvm只分配了8G内存,可是通过top查看,该java进程占用了30G物理内存(该机最大内存32G)。该现象导致监控系统报警频繁并出现宕机。 同事让我看下这个问题,我一看打消了他的疑惑。这个是一个非堆溢出问题,java进程占用了很多非堆内存,没有释放. NIO是引起该类问题的凶手,Groovy也会导致类似问题出现。非堆内存溢出,用jvm提供工具,是没有办法定位的。
AndroidStudio 设置Xmx内存大小
studio默认的配置如下-Xms256m -Xmx1280m -XX:ReservedCodeCacheSize=240m -XX:+UseConcMarkSweepGC -XX:SoftRefLRUPolicyMSPerMB=50 -Dsun.io.useCanonCaches=false -Djava.net.preferIPv4Stack=true -Djna.nosys=true -Dj...
学习堆的配置参数(最大堆和初始堆的设置)
-Xms 可以指定初始堆的空间大小-Xmx 可以指定最大堆空间的大小实际最大可用堆内存会小于指定的最大堆空间内存大小,这个偏差是由于虚拟机内部并没有直接使用新生代from/to的大小,而是进一步堆它们做了对齐操作。在实际工作中,也可以直接将初始堆-Xms与最大堆-Xmx设置相等,正阳的好处是可以减少程序运行时进行的垃圾回收次数,从而提高程序的性能。
测试java jdk 支持最大内存
JDK各个版本在不同操作系统中支持的最大内存是不一样的,但是可以通过以下方法来进行测试。 c:&amp;gt;java -XmxXXXm(g) -version 其中,XXX为最大内存数值, m(g)是内存的计量单位,如果命令能够正确显示出jdk的版本等信息,说明当前jdk支持测试的最大内存 数量,否则说明测试的内存超出了jdk支持的最大值。 例如:我的系统是win7 64位  Java代码...
如何测试java支持的最大内存
JDK在不同的操作系统中支持的最大内存不一样,可以采用如下方法来测试不同操作系统中支持的最大内存。c:>java -XmxXXXXm(g) -version其中XXXX为最大内存数,m(g)是内存的计量单位,在以上命令中将XXXX写为具体数字,根据情况采用m或g为单位,如果命令能正确显示出jdk的版本信息,则说明当前jdk支持XXXX的最大内存,如果不能正确显示出版本信息则表示超出了jdk支持的最大
jvm内存设置及总结
Application情况: 大量使用了内存缓存,应用负载量较大,900w/d-1000w/d,对响应速度要求较高,因此gc造成的应用中断现象需要尽量控制在最小范围内。 系统情况: 2个8核的cpu,共2*8=16的处理器(processor),总大小为16G的内存。 调优方式: 1、-Xms -Xmx 设置初始堆最大和最小内存;经过测试,目前tomcat容器可以设置的最大内存...
java 虚拟机参数设置堆大小的分配可能导致内存暴增
java 虚拟机参数设置堆大小的分配可能导致内存暴增本Markdown编辑器使用[StackEdit][6]修改而来,用它写博客,将会带来全新的体验哦: 碰到的问题 解决方案 原理 碰到的问题 java 虚拟机参数设置可以修改虚拟机的堆大小,栈大小,新生代,幸存代的比例等等。可以参考博文: Java虚拟机详解—-常用JVM配置参数 最近同事在做 java vm tuning 过程中碰到一个问题,
关于jvm中Xmx参数默认值
我的机器win7 64bit 8GB内存,通过jconsole拿到JVM heap size     如果不设置Xmx值 Oracle JDK6 1/4物理内存 Oracle JDK7 Xms = Xmx 如果只设置Xms 256MB=Xmx, 如果Xms和Xmx都不设置   简单总结下:如果不设置Xmx值,则其大小与JDK版本以及物理内存大小有关。...
JVM:-Xmx和-Xms应该维持什么样的比例?
-Xmx和-Xms应该维持什么样的比例? 首先并不是虚拟机内存越大就越好,大概原因是因为:内存越大,JVM 进行 Full GC 所需的时间越久,由于 Full GC 时 stop whole world 特性,如果是用于响应HTTP 请求的服务器,这个时候就表现为停止响应,对于需要低延迟的应用来说,这是不可接受的。对于需要高吞吐量的应用来说,可以不在乎这种停顿,比如一些后台的应用之类的,那么内...
jvm内存配置、参数,实例解析,四种内存溢出种类及原因分析
jvm配置参数查看 ps -ef | grep tomcat 结果: work 31591 1 4 May16 ? 02:00:01 /data/j2sdk/bin/java -Djava.util.logging.config.file=/data/bi/tomcat/conf/logging.properties -********* jvm参数配置方法 ...
java long 能存储的最大字节数字
// 进制位 final static int JZ = 1024; // 1KB final static long KB = 1 * JZ; // 1MB final static long MB = KB * JZ; // 1GB final static long GB = MB * JZ; // 1TB final static long TB = GB * JZ;
【AS环境】关于AS运行卡顿,提示内存不足,修改Xmx等参数
1、 电脑8G内存,理论上运行AndroidStudio无压力,但是最近经常出现‘未响应’情况,写代码卡的心焦2、 今天卡着卡着,就出现一个对话框,‘There is no enough memory to run this operation…..’,下面还有一些参数的修改,什么‘Xmx’等等3、 大概是分配给AS的内存不够用吧4、 网上查到解决办法,是由于 AndroidStudio 1.2.1
JVM中的MaxHeapSize值不一致问题
查看MaxHeapSize参数值, 我们可以使用两类JVM选项: -XX:+PrintFlagsFinal 和 -XX:+PrintCommandLineFlags. 两个MaxHeapSize值不相等
-Xmx –Xms到底是什么东西?原来其实是JVM的配置参数
堆的分配参数: -Xmx –Xms:指定最大堆和最小堆 JVM调优 -Xmx3g -Xms3g -Xmn1g -Xss256k -Xmx3g -Xms3g,将JVM最大内存与初始内存设置相等,避免JVM垃圾回收后重新分配内存;-Xmn1g,年轻代Sun官方推荐配置为整个堆的3/8,通常设置为1/3或1/4;-Xss256k,减小每条线程的堆栈大小,能生成更多的线程。 -XX:NewRat...
java.lang.String最多能存储多长的字符串
4G左右 String采用的是动态分配内存 有新的字符/字符串要加入时再相应地分配内存的
【Java面试题】32位系统jvm堆内存如下哪一个设置是最大且有效的?
Java面试题:32位系统jvm堆内存如下哪一个设置是最大且有效的( B ) A. -Xmx1000m B. -Xmx1500m C. -Xmx8G D. 无限 查阅了一下相关博客找到如下一段话:  ◆JVM最大内存: 首先JVM内存限制于实际的最大物理内存,假设物理内存无限大的话,JVM内存的最大值跟操作系统有很大的关系。简单的说就32位处理器虽然可控内存空间有4GB,但是具体的操作系统会给...
jdk8内存参数解析与修改(新的参数)
JDK内存jdk内存实际是jvm内存,jvm有一个运行时数据区,其实就是对这一部分的大小分配。运行时数据区通常包括这几个部分:程序计数器(Program Counter Register)、Java栈(VM Stack)、本地方法栈(Native Method Stack)、方法区(Method Area)、堆(Heap) Xss:每个线程的stack大小(栈) Xmx:JAVA HEAP的最大值、
java内存系列:测试JDK最大内存
JDK各个版本在不同操作系统中支持的最大内存是不一样的,但是可以通过以下方法来进行测试。 c:&amp;gt;java -XmxXXXm(g) -version 其中,XXX为最大内存数值, m(g)是内存的计量单位,如果命令能够正确显示出jdk的版本等信息,说明当前jdk支持测试的最大内存 数量,否则说明测试的内存超出了jdk支持的最大值。 例如:我的系统是win7 64位 Java代码   ...
(jvm调优)一、linux内存查看命令
1.整体情况查看(任务管理器):top 第三行就是CPU的使用情况了,如下: %Cpu(s)us用户空间占用CPU百分比sy内核空间占用CPU百分比ni用户进程空间内改变过优先级的进程占用CPU百分比id空闲CPU百分比wa等待输入输出的CPU时间百分比hiCPU服务于硬件中断所耗费的时间总额siCPU服务软中断所耗费的时间总额stSteal Time top -p pid top -u...
jvm内存使用上限
最近为了解决一个问题(使用32位JDK),查了查jvm使用内存的相关资料,发现了java服务程序使用内存的几个制约因素 1、jvm使用内存限制 在32位windows的机器上,堆最大可以达到1.4G至1.6G。 在32位solaris的机器上,堆最大可以达到2G 而在64位的操作系统上,32位的JVM,堆大小可以达到4G 2、线程不使用jvm内存,而是向操作系统申请内存 在java
第5课:实战演示JVM三大性能调优参数:-Xms -Xmx -Xss
王家林老师微博:http://weibo.com/ilovepains/ 第3课: 1、应用程序是多线程的,多线程共享全局共享内存空间,每个线程也有自己的内存空间, 线程与全局共享内存空间怎么交互呢? 线程如果要使用全局共享变量,就将全局共享变量拷贝过去,拷贝到线程的内存空间,交给线程的代码去处理,而不是直接去操作全局共享变量,原因是如果其他的线程也在操作,会带来状态不一致。 2、如果多
JVM 三大性能调优参数-Xms -Xmx -Xss
-Xss规定了每个线程堆栈的大小。一般情况下256K是足够了。影响了此进程中并发线程数大小。 -Xms初始的Heap的大小。 -Xmx最大Heap的大小。 在很多情况下,-Xms和-Xmx设置成一样的。这么设置,是因为当Heap不够用时,会发生内存抖动,影响程序运行稳定性。
进程物理内存远大于Xmx的问题分析,导致堆未满,但OOME
进程物理内存远大于Xmx的问题分析 转自:http://lovestblog.cn/blog/2015/08/21/rssxmx/ 问题描述 最近经常被问到一个问题,”为什么我们系统进程占用的物理内存(Res/Rss)会远远大于设置的Xmx值”,比如Xmx设置1.7G,但是top看到的Res的值却达到了3.0G,随着进程的运行,Res的值还在递增,直到达到某个值,被OS当做bad pro...
IDEA内存设置参考
Idea和tomcat内存设置   前提:   1.本人电脑64位Win7,内存8G   2.本人IDEA版本14.1.4   IDEA内存设置   1.查找IDEA内存安装地址:D:\Program Files (x86)\JetBrains\IntelliJ IDEA 14.1.4\bin   2.查找idea64.exe.vmoptions   3.设置内容如下
我走过最长的路,就是XMX的套路
币圈有两大不为发币而做区块链的英雄,一个是三点钟创始人玉红,一个是快的打车创办者陈伟星,一个直呼“搞区块链要发币是误区,很多人跑偏了”,一个大喊“一些币圈大佬割韭菜手段太恶心了”,然而......英雄终归难过发币关。XMX、打车链,一个打出“全球第一公链”的口号,一个贴上“诺贝尔奖级的伟大社会实验”标签,一个已经闪亮登上,一个依旧待嫁闺阁。红姐:发币,打死我也不会发币,就算它再怎么赚钱,再怎么盈利...
Docker环境下Java应用的堆内存控制
在boom里面部署docker应用, 应用编排时都需要指定一个内存的最大使用上限。如果应用使用的内存超过了配额,镜像会被kill掉。所以java微服务应用,有必要设置应用自己的最大内存。参数说明设置java最大内存的方式在Dockerfile里面, 加上”-Xmx800m”类似的参数,表示Heap上限800兆。例如: CMD [“java”, “-Xmx800m”, “-jar”, “icare
JVM 调优--查看jvm可用内存
开发环境  eclipse + Tomcat 配置如下 设置完成以后 启动 在Conntroller中执行以下代码 MemoryMXBean memoryBean = ManagementFactory.getMemoryMXBean(); long xms = memoryBean.getHeapMemoryUsage().getInit(); long
Tomcat9最大并发连接数的修改方法
对于配置文件、或者源代码的查看、修改最好还是翻看相应的文档,以便更好的找出与其他版本的区别。对于Tomcat9中配置文件的修改:    1、首先,在这里:http://tomcat.apache.org/ 我们点击左侧导航栏中“Documentation”下的Tomcat 9.0,进入到这个链接中:http://tomcat.apache.org/tomcat-9.0-doc/index.htm
java中String类型的最大长度
近日来在准备找工作面试,偶尔研究下源码,收获颇多。 对于问题“java中String类型的最大长度”,网上有各种说法,但无疑例证。 且看源码。 java.lang.String.java public final class String implements java.io.Serializable, Comparable, CharSequence { /** Th
使用选项_JAVA_OPTIONS扩大jvm堆大小
在终端输入 export _JAVA_OPTIONS="-Xmx2000M" 使用命令 java -XshowSettings:all 查看信息 Picked up _JAVA_OPTIONS: -Xmx2200M VM settings: Max. Heap Size (Estimated): 1.91G Ergonomics Machine C
java中list最多可以存储多少条数据
  从语言上来看,java.util.List是个接口,其下有N多实现,最常用的是ArrayList和LinkedList及其各种继承或同步化实现(如Vector/Queue/Stack这些的)ArrayList内部是拿数组存储,那么上限就是Integer.MAX_VALUELinkedList内部是个链表,理论上是无限的另外,List里放的东西都是在内存里的(当然你也可以自己实现一个放磁盘上...
intellij 中设置内存大小
intellij 中设置内存大小可做如下修改: 在VM options中输入: -Xmx2048m -Xmn1024m -XX:PermSize=1024m -XX:MaxPermSize=2048m
当运行jar时,如何设置 jar 的-Xmx
只需要在 -jar 与jar包名的中间添加 -XX:MaxHeapSize=7168M 就可以设置最大堆内存了 java -jar -XX:MaxHeapSize=7168M A.jar    
java jvm 参数 -Xms -Xmx -Xmn -Xss -
java jvm 参数 -Xms -Xmx -Xmn -Xss -