为什么要把-Xms、-Xmx设置成相等的值?

http://zhouanya.blog.51cto.com/4944792/1370017/
7) 优化配置。
a.设置-Xms、-Xmx相等;
b.设置NewSize、MaxNewSize相等;
c.设置Heap size, PermGen space:

网上很多文章说,设置-Xms和-Xmx相等,解释说这样jvm就不会动态的调整内存的大小了,动态调整大小会很耗费性能吗?当虚拟机需要大量内存的时候,就自动给分配大量的内存,不需要的时候,就把内存调的小一些,这很符合逻辑啊!

0

2个回答

设置-Xms、-Xmx 相等以避免在每次GC 后调整堆的大小。

0
0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
第5课:实战演示JVM三大性能调优参数:-Xms -Xmx -Xss
王家林老师微博:http://weibo.com/ilovepains/rn第3课:rn1、应用程序是多线程的,多线程共享全局共享内存空间,每个线程也有自己的内存空间,rn线程与全局共享内存空间怎么交互呢?rn线程如果要使用全局共享变量,就将全局共享变量拷贝过去,拷贝到线程的内存空间,交给线程的代码去处理,而不是直接去操作全局共享变量,原因是如果其他的线程也在操作,会带来状态不一致。rn2、如果多
JVM 三大性能调优参数-Xms -Xmx -Xss
-Xss规定了每个线程堆栈的大小。一般情况下256K是足够了。影响了此进程中并发线程数大小。n-Xms初始的Heap的大小。n-Xmx最大Heap的大小。nn在很多情况下,-Xms和-Xmx设置成一样的。这么设置,是因为当Heap不够用时,会发生内存抖动,影响程序运行稳定性。
JVM:-Xmx和-Xms应该维持什么样的比例?
-Xmx和-Xms应该维持什么样的比例?nn首先并不是虚拟机内存越大就越好,大概原因是因为:内存越大,JVM 进行 Full GC 所需的时间越久,由于 Full GC 时 stop whole world 特性,如果是用于响应HTTP 请求的服务器,这个时候就表现为停止响应,对于需要低延迟的应用来说,这是不可接受的。对于需要高吞吐量的应用来说,可以不在乎这种停顿,比如一些后台的应用之类的,那么内...
5.JVM三大性能调优参数:-Xms -Xmx -Xss
1.-Xss是对每个线程stack大小的调整。直接影响对方法的调用次数n测试结果:nnn测试代码:npackage com.dt.spark.jvm.basics;nnnpublic class HelloStackOverFlow {nprivate static int counter;nnn  nnn    public void count() {
JVM -Xmx -Xms 配置误区(越大越好?越大并发量越大?)
JVM -Xmx -Xms 配置,与误区nn-Xmx1024m 越大越好?nn作者在一家小公司,负责程序的开发和维护,每当(x64环境)线上的服务节点出现内存溢出的情况我总是采取nn提高 -Xmx1024m 的措施来增加堆内存(Heap)大小的问题,nn在我下意识里我一直以为,程序访问量大了去提高Heap就ok nn实则不然。nnHeap越大限制并发量nn进程模型nn如图所示:nnx86的机器上的...
-Xmx –Xms到底是什么东西?原来其实是JVM的配置参数
堆的分配参数:nn-Xmx –Xms:指定最大堆和最小堆nnJVM调优nn-Xmx3g -Xms3g -Xmn1g -Xss256kn -Xmx3g -Xms3g,将JVM最大内存与初始内存设置相等,避免JVM垃圾回收后重新分配内存;-Xmn1g,年轻代Sun官方推荐配置为整个堆的3/8,通常设置为1/3或1/4;-Xss256k,减小每条线程的堆栈大小,能生成更多的线程。n -XX:NewRat...
关于jvm中Xmx参数默认值
rn我的机器win7 64bit 8GB内存,通过jconsole拿到JVM heap sizern rnnn rn如果不设置Xmx值rnnnOracle JDK6rn1/4物理内存rnnnOracle JDK7rnrnXms = Xmx 如果只设置Xmsrn256MB=Xmx, 如果Xms和Xmx都不设置rnrnnn rn简单总结下:如果不设置Xmx值,则其大小与JDK版本以及物理内存大小有关。...
JVM调优总结 Xms -Xmx -Xmn -Xss
JVM调优总结 -Xms -Xmx -Xmn -Xss JVM调优总结 -Xms -Xmx -Xmn -Xss
JVM Xmx 能够设置的最大值
可以设置的最大JVM内存和JVM版本以及操作系统版本有关,一般Windows下1200-1500M左右,Linux下最大能到2600M; rn具体可以使用命令 java -XmxXXXXM -version 来进行测试(如:java -Xmx1024M -version),然后逐渐的增大XXXX的值,如果执行正常就表示指定的内存大小可用,否则会打印错误信息。 rnrn测试32位win、java 1...
jvm内存设置及总结
Application情况:rn大量使用了内存缓存,应用负载量较大,900w/d-1000w/d,对响应速度要求较高,因此gc造成的应用中断现象需要尽量控制在最小范围内。rnrn系统情况:rn2个8核的cpu,共2*8=16的处理器(processor),总大小为16G的内存。rnrn调优方式:rn1、-Xms -Xmxrn设置初始堆最大和最小内存;经过测试,目前tomcat容器可以设置的最大内存...
JVM内存设置多大合适?Xmx和Xmn如何设置?
本文地址:https://www.dutycode.com/jvm_xmx_xmn_xms_shezhi.htmlrn除非注明,文章均为 www.dutycode.com 原创,欢迎转载!转载请注明本文地址,谢谢。rnrnrnrn问题:rn新上线一个java服务,或者是RPC或者是WEB站点, 内存的设置该怎么设置呢?设置成多大比较合适,既不浪费内存,又不影响性能呢?rnrnrnrnrnrn分析:
java jvm 参数 -Xms -Xmx -Xmn -Xss -
java jvm 参数 -Xms -Xmx -Xmn -Xss -
Docker环境下Java应用的堆内存控制
在boom里面部署docker应用, 应用编排时都需要指定一个内存的最大使用上限。如果应用使用的内存超过了配额,镜像会被kill掉。所以java微服务应用,有必要设置应用自己的最大内存。参数说明设置java最大内存的方式在Dockerfile里面, 加上”-Xmx800m”类似的参数,表示Heap上限800兆。例如: CMD [“java”, “-Xmx800m”, “-jar”, “icare
jdk8内存参数解析与修改(新的参数)
JDK内存jdk内存实际是jvm内存,jvm有一个运行时数据区,其实就是对这一部分的大小分配。运行时数据区通常包括这几个部分:程序计数器(Program Counter Register)、Java栈(VM Stack)、本地方法栈(Native Method Stack)、方法区(Method Area)、堆(Heap)nXss:每个线程的stack大小(栈)nXmx:JAVA HEAP的最大值、
当运行jar时,如何设置 jar 的-Xmx
n只需要在 -jar 与jar包名的中间添加 -XX:MaxHeapSize=7168M 就可以设置最大堆内存了njava -jar -XX:MaxHeapSize=7168M A.jarnn nn 
JVM调优总结 -Xms -Xmx -Xmn -Xss
JVM调优总结 -Xms -Xmx -Xmn -Xss
我走过最长的路,就是XMX的套路
币圈有两大不为发币而做区块链的英雄,一个是三点钟创始人玉红,一个是快的打车创办者陈伟星,一个直呼“搞区块链要发币是误区,很多人跑偏了”,一个大喊“一些币圈大佬割韭菜手段太恶心了”,然而......英雄终归难过发币关。XMX、打车链,一个打出“全球第一公链”的口号,一个贴上“诺贝尔奖级的伟大社会实验”标签,一个已经闪亮登上,一个依旧待嫁闺阁。红姐:发币,打死我也不会发币,就算它再怎么赚钱,再怎么盈利...
Jvm的Xmx参数详解
Jvm的Xmx参数详解
AndroidStudio 设置Xmx内存大小
studio默认的配置如下-Xms256mn-Xmx1280mn-XX:ReservedCodeCacheSize=240mn-XX:+UseConcMarkSweepGCn-XX:SoftRefLRUPolicyMSPerMB=50n-Dsun.io.useCanonCaches=falsen-Djava.net.preferIPv4Stack=truen-Djna.nosys=truen-Dj...
认识 java JVM虚拟机选项 Xms Xmx PermSize MaxPermSize 区别
关于内存溢出报错的处理及解决方案: java.lang.OutOfMemoryError: PermGen space java.lang.OutOfMemory 堆内存、非堆内存都描述
进程物理内存远大于Xmx的问题分析,导致堆未满,但OOME
rn进程物理内存远大于Xmx的问题分析rn转自:http://lovestblog.cn/blog/2015/08/21/rssxmx/rn问题描述rn最近经常被问到一个问题,”为什么我们系统进程占用的物理内存(Res/Rss)会远远大于设置的Xmx值”,比如Xmx设置1.7G,但是top看到的Res的值却达到了3.0G,随着进程的运行,Res的值还在递增,直到达到某个值,被OS当做bad pro...
Java之最大堆内存设置(-Xmx)
Java之最大堆内存设置(-Xmx) 问题起因:Could not initialize the java virtual machine. 在程序启动时,无法启动服务,查看Windows事件日志,发现如上错误信息。后来发现,该问题的是由于-Xmx设置的太大引起的。 那么设置多少服务才可以启动呢?-Xmx的最大值根据运行环境的不同而有所差异,具体可以使用java -Xmx2048m
深入JVM内核(三)——常用JVM配置参数
 nn由于之前看的容易忘记,因此特记录下来,以便学习总结与更好理解,该系列博文也是第一次记录,所有有好多不完善之处请见谅与留言指出,如果有幸大家看到该博文,希望报以参考目的看浏览,如有错误之处,谢谢大家指出与留言。nn一、常用JVM配置参数nn1、Trace跟踪参数nn2、堆的分配参数nn3、栈的分配参数nn二、Trace跟踪参数(主要是gc的跟踪)nn1、-verbose:gc    打开gc的...
为什么虚拟机占用的实际内存超出了 -xmx 设置的最大值
JBoss服务器,启动参数中设置了最大堆内存为3072M,运行一段时间后在系统任务管理器看到相应的java.exe进程占用了5G内存
jvm最大堆内存和最小堆内存保持什么样的关系 系统性能最好
这个问题时专门请教过国内某电商公司的大牛的,实际开发中 最大堆内存 和最小堆内存设置成一样大小。除了C1GC,具体C1GC是个什么东西 了解过后再发一篇博客。
Java虚拟机堆的内存分配和回收
java内存分配和回收,主要就是指java堆的内存分配和回收。java堆一般分为2个大的区域,一块是新生代,一块是老年代。在新生代中又划分了3块区域,一块eden区域,两块surviver区域。一般称为from surviver和to surviver。这些区域的大小可以自己指定。比如:(-Xms20M 表示可用堆内存大小;-Xmx40M 表示最大堆内存,在堆内存大小不够时,会扩展到最大堆内存;-
JVM 基础知识 GC
GC参数打印GC简要信息(二选一,等价):-verbose:gc,-XX:+printGC,打印信息如下:–[GC 4790K->374K(15872K), 0.0001606 secs]–[GC 4790K->374K(15872K), 0.0001474 secs]–[GC 4790K->374K(15872K), 0.0001563 secs]–[GC 4790K->...
CentOS系统下配置java环境变量
在CentOS系统中,我们经常会用到java,但是,也有很多人也许对这些人不了解,下面,我们就来介绍一下这方面的知识。主要是学习CentOS系统下配置java环境变量。rn  (1)CentOS系统用文本编辑器打开/etc/profilern  (2)CentOS系统在profile文件末尾加入:rn  JAVA_HOME=/usr/local/jdk1.5.0_05rn  PATH=$JAVA_...
Java基础学习总结(30)——Java 内存溢出问题总结
Java中OutOfMemoryError(内存溢出)的三种情况及解决办法n nn相信有一定java开发经验的人或多或少都会遇到OutOfMemoryError的问题,这个问题曾困扰了我很长时间,随着解决各类问题经验的积累以及对问题根源的探索,终于有了一个比较深入的认识。n在解决java内存溢出问题之前,需要对jvm(java虚拟机)的内存管理有一定的认识。jvm管理的内存大致包括三种不同
Azkaban安装时报错信息整理
问题:azkban Cannot request memory (Xms 0 kb, Xmx 0 kb) from system for job command, sleep for 60 secs and retry, attempt 4 of 720nn原因:azkaban默认需要3G的内存,剩余内存不足则会报异常。nn解决办法:修改azkaban-solo-server/build/dist...
JVM内存设置,各个参数含义和设置后不起作用问题
这两天才来公司,遇到很棘手的问题,把公司项目下载下来后无法运行,报错内存溢出问题,然后网上一大堆问题的答案,按照网上的答案解决了tomcat:java.lang.OutOfMemoryError: PermGen space问题,但是后面还有tomcat:java.lang.OutOfMemoryError: Java heap space问题。按照网上的说法设置并没有解决我的问题,于是开始太多J
IDEA内存设置参考
Idea和tomcat内存设置nn  前提:n  1.本人电脑64位Win7,内存8Gn  2.本人IDEA版本14.1.4nnn nIDEA内存设置n n1.查找IDEA内存安装地址:D:\Program Files (x86)\JetBrains\IntelliJ IDEA 14.1.4\binn  2.查找idea64.exe.vmoptionsn  3.设置内容如下
kettle安装使用
下载kettile安装kettle前必须要装了java,如果系统内存大于4G,最好装64位的 n下载链接解压之后根目录下找到Spoon.bat文件,用编辑器打开,找到下面代码PENTAHO_DI_JAVA_OPTIONS="-Xms1024m" "-Xmx2048m" "-XX:MaxPermSize=1024m"-Xms:设置JVM初始内存 n-Xmx:设置JVM最大可用内存 n-XX:MaxPe
JVM中初始和最大堆大小无效 - 如何修复
今天遇到一个这样的问题n在启动JVM时提示“ 无效的初始堆大小:-Xms = 1024M ”,甚至在将最大堆大小从1024 m更改为512M之后,它仍然崩溃,提示的错误是“无效的初始堆大小:-Xms = 512M,无法创建的Java虚拟机“。n我检查了几乎所有的东西,从检查我的机器有多少物理内存到JVM参数中的任何类型的错误,结果发现我把MB放进去了,而不是M.n。爪哇同时接受小的案和用于基洛,米...
生产环境jvm内存运行1小时,就接近xmx,系统奇慢。大量的jasperreport无法释放。
[url]http://www.iteye.com/topic/1116650?page=5#2262692[/url]rnrn这个是前几天发的帖子,现在基本知道问题了。这个项目是一个政府项目,需要大量的打印功能,打印使用的是Jasperreport 3.7.0,客户端基于applet直接打印。有的功能,一天要打印200多次,所有的功能打印次数一天多在1000次以上。在jvm分配的内存要满的时候,...
spring boot 限制初始值大小及参数中文详解
要加“m”说明是MB,否则就是KB了.rn-Xms:初始值rn-Xmx:最大值 rn-Xmn:最小值rnjava -Xms10m -Xmx80m -jar mod.jarrn& 时区设置 java -jar -Duser.timezone=GMT+08rn mod.jar & rn rn#============================================= =========
关于java -Xms -Xmx的问题
我想改变HEAP堆的大小,命令该是怎么样的啊rnjava -Xms256m -Xmx768mrn这样输入后好像不对!??rnlinux的操作系统rn谢谢
SpringBoot系列(三)内置配置及自定义配置
n 在使用spring boot过程中,可以发现项目中只需要极少的配置就能完成相应的功能,这归功于spring boot中的模块化配置,在pom.xml中依赖的每个Starter都有默认配置,而这些默认配置足以满足正常的功能开发。nnn如果需要修改自定义修改默认配置,spring boot 提供了很简便的方法,只需要在application.properties 中添加修改相应的配置。(spri...
JVM默认参数
-Xms   默认情况下堆内存的64分之一-Xmx   默认情况下对内存的4分之一-Xmn   默认情况下堆内存的64分之一-XX:NewRatio  默认为2-XX:SurvivorRatio 默认为8
为什么line-height要设置和height一样高才居中
n n n 1. 行框n在浏览器中,会将给每一段文本生成一个行框,行框的高度就是行高。行框由上间距、文本高度、下间距组成,上间距的距离与下间距的距离是相等的。默认情况下一行文本的行高分为:上间距,文本的高度,下间距,并且上间距是等于下间距的,所以文字默认在这一行中是垂直居中的。n2n参考地址n3 参考代码n<!DOCTYPE html>n<html&...
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 为什么学python 为什么学习产品经理