精华内容
下载资源
问答
  • JVM内存配置参数

    千次阅读 2019-02-15 17:15:15
    对于JVM内存配置参数: -Xmx10240m -Xms10240m -Xmn5120m -XXSurvivorRatio=3 ,其最小内存值和Survivor区总大小分别是()  A 5120m,1024m  B 5120m,2048m  C 10240m,1024m  D 10240m,2048m 答案...

    题目

    对于JVM内存配置参数:

    -Xmx10240m -Xms10240m -Xmn5120m -XXSurvivorRatio=3

    ,其最小内存值和Survivor区总大小分别是()

      A 5120m,1024m

      B 5120m,2048m

      C 10240m,1024m

      D 10240m,2048m

    答案解析

    正确答案是:D

    -Xmx:最大堆大小

    -Xms:初始堆大小

    -Xmn:  年轻代大小

    -XXSurvivorRatio=3:代表Eden:Survivor = 3    

    根据Generation-Collection算法(目前大部分JVM采用的算法),一般根据对象的生存周期将堆内存分为若干不同的区域,一般情况将新生代分为Eden ,两块Survivor;

    计算Survivor大小, Eden:Survivor = 3,总大小为5120,3x+x+x=5120  x=1024(Survivor区有两个,即将年轻代分为5份,每个Survivor区占一份),总大小为2048m。

    新生代大部分要回收,采用Copying算法,快!

    老年代 大部分不需要回收,采用Mark-Compact算法

    -Xms初始堆大小即最小内存值为10240m

    所以正确答案是  D 10240m,2048m

     

    常见配置汇总

    堆设置

    -Xms:初始堆大小,表示java虚拟机堆区内存初始内存分配的大小,通常为操作系统可用内存的1/64大小即可

    -Xmx:最大堆大小,表示java虚拟机堆区内存可被分配的最大上限,通常为操作系统可用内存的1/4大小。但是开发过程中,通常会将 -Xms 与 -Xmx两个参数的配置相同的值,其目的是为了能够在java垃圾回收机制清理完堆区后不需要重新分隔计算堆区的大小而浪费资源。

    一般来讲对于堆区的内存分配只需要对上述两个参数进行合理配置即可。

    -XX:NewSize=n:设置年轻代大小

    -XX:NewRatio=n:设置年轻代和年老代的比值。如:为3,表示年轻代与年老代比值为1:3,年轻代占整个年轻代年老代和的1/4

    -XX:SurvivorRatio=n:年轻代中Eden区与两个Survivor区的比值。注意Survivor区有两个。如:3,表示Eden:Survivor=3:2,一个Survivor区占整个年轻代的1/5

    -XX:PermSize:设置永久区的大小

    -XX:MaxPermSize=n:设置持久代大小

    -XX:TargetSurvivorRatio:设置survivior 的使用率。当达到这个空间使用率时,会将对象送入老年代。

     

    方法区参数配置
    -XX:PermSize:表示非堆区初始内存分配大小,其缩写为permanent size(持久化内存)
    -XX:MaxPermSize:表示对非堆区分配的内存的最大上限
     

    栈的容量配置
    -Xss:设置线程栈的大小
     

    本机直接内存设置

    -XX:MaxDirectMemorySize :指定本机直接内存大小,如果不指定就表示和Java堆最大值(-Xmx)相同
     

    例如:-Xms128m -Xmx512m -XX:PermSize=128m -XX:MaxPermSize=512m

    上面设置的参数就是堆初始化128M,最大堆内存是512M;方法区初始化分配内存128M,方法区最大上限是512M。

     

    收集器设置

    -XX:+UseSerialGC:设置串行收集器

    -XX:+UseParallelGC:设置并行收集器

    -XX:+UseParalledlOldGC:设置并行年老代收集器

    -XX:+UseConcMarkSweepGC:设置并发收集器

     

    垃圾回收统计信息

    -XX:+PrintGC

    -XX:+PrintGCDetails

    -XX:+PrintGCTimeStamps

    -Xloggc:filename

     

    并行收集器设置

    -XX:ParallelGCThreads=n:设置并行收集器收集时使用的CPU数。并行收集线程数。

    -XX:MaxGCPauseMillis=n:设置并行收集最大暂停时间

    -XX:GCTimeRatio=n:设置垃圾回收时间占程序运行时间的百分比。公式为1/(1+n)

     

    并发收集器设置

    -XX:+CMSIncrementalMode:设置为增量模式。适用于单CPU情况。

    -XX:ParallelGCThreads=n:设置并发收集器年轻代收集方式为并行收集时,使用的CPU数。并行收集线程数。

     

    知识补充:JVM内存区域总体分两类,heap区 和 非heap 区 。

    heap区:  Eden Space(伊甸园)、Survivor Space(幸存者区)、Tenured Gen(老年代-养老区)。

    非heap区:  Code Cache(代码缓存区)、Perm Gen(永久代)、Jvm Stack(java虚拟机栈)、Local Method Statck(本地方法栈)。

    转载自:

    https://mp.weixin.qq.com/s/0BfG_gVphVfdx6pBcgbgMQ ,https://blog.csdn.net/weixin_40792878/article/details/82154402 

    展开全文
  • jvm内存配置参数

    2019-09-24 02:15:12
    对于jvm内存配置参数: -Xmx10240m -Xms10240m -Xmn5120m -XXSurvivorRatio=3 其最小内存值和Survior区总大小分别是: a. 5120m,1024m b.5120m,2048m c.10240m,1024m d.10240m,2048m 答案是:d. ...

    请看下面题目:
    对于jvm内存配置参数:
    -Xmx10240m -Xms10240m -Xmn5120m -XXSurvivorRatio=3
    其最小内存值和Survior区总大小分别是:
    a. 5120m,1024m
    b.5120m,2048m
    c.10240m,1024m
    d.10240m,2048m

    答案是:d.

    java memery model

    首先必须知道几个参数的含义:

    -Xmx :堆的最大值
    -Xms :堆的最小值
    -Xmn :堆年轻代大小
    -XXSurvivorRatio:Eden区和Survior区的占用比例.


    知识补充:
    VM内存区域总体分两类,heap区 和 非heap 区 。
    - heap区: 堆区分为Young Gen(新生代),Tenured Gen(老年代-养老区)。其中新生代又分为Eden Space(伊甸园)、Survivor Space(幸存者区)。
    - 非heap区: Code Cache(代码缓存区)、Perm Gen(永久代)、Jvm Stack(java虚拟机栈)、Local Method Statck(本地方法栈)。


    为什么要区分新生代和老生代?
    堆中区分的新生代和老年代是为了垃圾回收,新生代中的对象存活期一般不长,而老年代中的对象存活期较长,所以当垃圾回收器回收内存时,新生代中垃圾回收效果较好,会回收大量的内存,而老年代中回收效果较差,内存回收不会太多。


    不同代采用的算法区别?
    基于以上特性,新生代中一般采用复制算法,因为存活下来的对象是少数,所需要复制的对象少,而老年代对象存活多,不适合采用复制算法,一般是标记整理和标记清除算法。
    因为复制算法需要留出一块单独的内存空间来以备垃圾回收时复制对象使用,所以将新生代分为eden区和两个survivor区,每次使用eden和一个survivor区,另一个survivor作为备用的对象复制内存区。

    上面铺垫了那么多,现在进入正题:
    我们只需要知道Survior区有两个,就是图中的S0和S1,而Eden区只用一个, -XXSurvivorRatio参数是Eden区和单个Survior区的比例,所以应该有(3+1+1)*Survior=5012m,图中问的是Survior总大小(需乘2),显然是d.

    转载于:https://www.cnblogs.com/Spider-spiders/p/9312239.html

    展开全文
  • JVM 内存配置参数

    2018-10-10 15:58:11
    对于JVM内存配置参数: -Xmx10240m -Xms10240m -Xmn5120m -XXSurvivorRatio=3   -Xmx:最大堆大小 -Xms:初始堆大小 -Xmn:年轻代大小 -XXSurvivorRatio:年轻代中Eden区与Survivor区的大小比值 -Xms初始堆...

    对于JVM内存配置参数:

    -Xmx10240m -Xms10240m -Xmn5120m -XXSurvivorRatio=3

     

    -Xmx:最大堆大小

    -Xms:初始堆大小

    -Xmn:年轻代大小

    -XXSurvivorRatio:年轻代中Eden区与Survivor区的大小比值

    -Xms初始堆大小即最小内存值为10240m

     

     -XXSurvivorRatio=3:代表Eden:Survivor = 3    根据Generation-Collection算法(目前大部分JVM采用的算法),一般根据对象的生存周期将堆内存分为若干不同的区域,一般情况将新生代分为Eden ,两块Survivor;    计算Survivor大小, Eden:Survivor = 3,总大小为5120,3x+x+x=5120  x=1024

    新生代大部分要回收,采用Copying算法,快!

    老年代 大部分不需要回收,采用Mark-Compact算法

    展开全文
  • JVM内存配置参数:-Xmx10240m -Xms10240m -Xmn5120m -XXSurvivorRatio=3,其最小内存值和Survivor区总大小分别是()-Xmx:最大堆大小-Xms:初始堆大小-Xmn:年轻代大小-XXSurvivorRatio:年轻代中Eden区与Survivor区的...

    JVM内存配置参数:

    -Xmx10240m -Xms10240m -Xmn5120m -XXSurvivorRatio=3

    ,其最小内存值和Survivor区总大小分别是()

    -Xmx:最大堆大小

    -Xms:初始堆大小

    -Xmn:年轻代大小

    -XXSurvivorRatio:年轻代中Eden区与Survivor区的大小比值

    年轻代5120m, Eden:Survivor=3,Survivor区大小=1024m(Survivor区有两个,即将年轻代分为5份,每个Survivor区占一份),总大小为2048m。

    -Xms初始堆大小即最小内存值为10240m

    -Xmx10240m:代表最大堆

    -Xms10240m:代表最小堆

    -Xmn5120m:代表新生代

    -XXSurvivorRatio=3:代表Eden:Survivor = 3    根据Generation-Collection算法(目前大部分JVM采用的算法),一般根据对象的生存周期将堆内存分为若干不同的区域,一般情况将新生代分为Eden ,两块Survivor;    计算Survivor大小, Eden:Survivor = 3,总大小为5120,3x+x+x=5120  x=1024

    新生代大部分要回收,采用Copying算法,快!

    老年代 大部分不需要回收,采用Mark-Compact算法

    d1088c1a3ae8

    展开全文
  • 对于JVM内存配置参数

    2019-11-25 20:38:26
    对于JVM内存配置参数: -Xmx10240m -Xms10240m -Xmn5120m -XXSurvivorRatio=3,其最小内存值和Survivor区总大小分别是(D) A、5120m,1024m B、5120m,2048m C、10240m,1024m D、10240m,2048m Xmx:最大...
  • JVM内存配置参数题目

    2017-09-03 00:33:28
    对于JVM内存配置参数: -Xmx10240m -Xms10240m -Xmn5120m -XXSurvivorRatio=3 ,其最小内存值和Survivor区总大小分别是() 参数解释:-Xms :设置堆的最小值 -Xmx:设置堆的最小值和最大值。 -Xmn:设置了新生代的大小...
  • 一定要记住的14个JVM内存配置参数 jvm setting的参数确实比较多(Oracle官网Java HotSpot VM Options),但是作为一名java开发者,那几个最常用最基本的参数设置和意义一定要死记和理解。这里推荐一个...
  • 概述java内存溢出之后,我们需要根据错误信息分析一下内存溢出的具体原因,及时调整中间件的参数、查看jvm内存分配linux下可以通过jmap -heap 【pid】命令查看jvm的内存分配例如:jmap -heap 1此图可以看出...
  • 首先先说一下JVM内存结构问题,JVM为两块:PermanentSapce和HeapSpace,其中HeapSpace= {Old + NEW {= Eden , from, to } };PermantSpace主要负责存放加载的Class类级对象如class本身,method,field等反射对象,...
  • 今日内容了解下我们为什么要学习JVM优化掌握jvm的运行参数以及参数的设置掌握jvm内存模型(堆内存)掌握jamp命令的使用以及通过MAT工具进行分析掌握定位分析内存溢出的方法掌握jstack命令的使用掌握VisualJVM工具的...
  • Java笔试题常见知识点:Java内存模型,JVM内存配置参数,垃圾回收算法Java内存模型(JMM)JVM内存区域组成JVM几个常见的内存配置参数垃圾回收算法垃圾回收算法介绍分代回收算法中不同代采用的垃圾回收算法 ...
  • JVM 配置常用参数参数回收器参数项目中常用配置常用组合常用 GC 调优策略GC 调优原则GC 调优目的《Java 2019 超神之路》《Dubbo 实现原理与源码解析 —— 精品合集》《Spring 实现原理与源码解析 —— 精品合集》...
  • JVM 配置常用参数堆参数回收器...并行和并发 GC 的策略通过 UseParallelGC 和 UseConcMarkSweepGC 来指定,还有一些细节的配置参数用来配置策略的执行方式。例如:XX:ParallelGCThreads, XX:CMSInitiatingOccupa...
  • 对于JVM内存配置参数: -Xmx10240m -Xms10240m -Xmn5120m -XXSurvivorRatio=3 -Xms10240m 初始堆大小即最小内存值 XXSurvivorRatio=3,即Eden:FromSurvivor:ToSurvivor=3:1:1;所以Survivor一共是2048 -Xmx...
  • 题目对于JVM内存配置参数:-Xmx10240m -Xms10240m -Xmn5120m -XXSurvivorRatio=3,其最小内存值和Survivor区总大小分别是()A 5120m,1024mB 5120m,2048mC 10240m,1024mD 10240m,2048m答案解析正确答案是...
  • tomcat jvm内存配置参数

    2016-09-27 16:23:45
    Tomcat的JVM内存溢出解决方法 在生产环境中,tomcat内存设置不好很容易出现JVM内存溢,解决方法就是修改Tomcat中的catalina.sh文件。 在catalina.sh文件中,找到cygwin=false,在这一行的前面加入参数,具体如下...
  • (以下对JVM内存参数配置,可以对应到eclipse.ini文件中) 先来看看参数配置项内容:  -vmargs -Xms128M -Xmx512M -XX:PermSize=64M -XX:MaxPermSize=128M 其中-vmargs指的是设置JVM参数,后面的参数就是JVM...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,877
精华内容 1,150
关键字:

jvm内存配置参数