JVM架构(017)_jvm常见配置都有哪些

转载 2016年08月30日 15:43:20

1、jvm常见配置都有哪些

了解jvm内存模型看这里:java内存模型是什么样的 
了解jvm内存管理看这里:jvm是如何管理内存的 
了解jvm垃圾回收机制看这里:java垃圾回收机制是什么

jvm配置非常多,按照不同类型划分,常常用来优化jvm内存(了解jvm内存优化看这里:java内存如何优化),常见配置如下:

了解垃圾回收器看这里:java垃圾回收都有哪些方式

  1. 堆设置 
    -Xms=n 
    初始堆大小。 
    -Xmx=n 
    最大堆大小。 
    -Xmn=n 
    新生代大小,该配置优先于-XX:NewRatio,即如果配置了-Xmn,-XX:NewRatio会失效。 
    -XX:NewRatio=n 
    老生代和新生代的比值,例如该值为3,则表示新生代与老生代比值为1:3。 
    -XX:SurvivorRatio=n 
    新生代中 Eden区和Survivor区的比值。Survivor区分为等价的两个区S0,S1。例如-XX:SurvivorRatio=3,则表示Eden:S0:S1=3:1:1。 
    -XX:PermSize=n 
    设置永久代(方法区)大小,Java 8之后被移除。 
    -XX:MaxPermSize=n 
    设置永久代(方法区)最大大小,Java 8之后被移除。 
    -XX:MetaspaceSize=n 
    设置本地元空间Metaspace大小,Java 8以后移除了方法区,取而代之的是本地元空间Metaspace。 
    -XX:MaxMetaspaceSize=n 
    设置本地元空间Metaspace最大大小,Java 8以后移除了方法区,取而代之的是本地元空间Metaspace。 
    -XX:MaxGCPauseMillis=n 
    设置垃圾收集最大暂停时间。 
    -XX:GCTimeRatio=n 
    设置一次垃圾回收时间占程序运行时间的百分比,花费在GC上的时间比例不超过1 / (1 + n)

  2. 垃圾收集器设置 
    -XX:+UseSerialGC 
    设置串行收集器。 
    -XX:+UseParallelGC 
    设置并行收集器。 
    -XX:+UseParallelOldGC 
    设置并行年老代收集器。 
    -XX:+UseConcMarkSweepGC 
    设置并发收集器。 
    -XX:+UseG1GC 
    G1垃圾回收器。

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

  4. 并发收集器设置 
    -XX:+CMSIncrementalMode 
    设置为增量模式。在增量模式下,并发收集器在并发阶段,不会独占整个周期,而会周期性的暂停,唤醒应用线程。收集器把并发阶段工作划分为片段,安排在次级(minor) 回收运行。适用于需要低延迟,CPU少的服务器。一般单CPU会开启增量模式。 
    -XX:ParallelCMSThreads=n 
    并发垃圾回收器标记扫描所使用的线程数量

  5. 垃圾回收统计信息 
    -XX:+PrintGC 
    输出GC日志,简要日志。 
    -XX:+PrintGCDetails 
    打印GC日志,详细展示每个区的日志。 
    -XX:+PrintGCTimeStamps 
    打印GC日志,详细展示GC运行时间的日志。输出GC的时间戳以基准时间的形式展示。 
    -XX:+PrintGCDateStamps 
    打印GC日志,详细展示GC运行时间的日志。输出GC的时间戳以以日期的形式展示。 
    -XX:+PrintHeapAtGC 
    打印在进行GC的前后打印出堆的信息。 
    -Xloggc:../logs/gc.log 
    日志文件的输出路径。

汇总如下: 
这里写图片描述

Java千百问_07JVM架构(017)_jvm常见配置都有哪些

点击进入_更多_Java千百问1、jvm常见配置都有哪些了解jvm内存模型看这里:java内存模型是什么样的 了解jvm内存管理看这里:jvm是如何管理内存的 了解jvm垃圾回收机制看这里:jav...
  • ooppookid
  • ooppookid
  • 2016年06月04日 10:37
  • 2733

JVM调优总结(2):调优方法

堆大小设置 JVM 中最大堆大小有三方面限制:相关操作系统的数据模型(32-bt还是64-bit)限制;系统的可用虚拟内存限制;系统的可用物理内存限制。32位系统下,一般限制在1.5G~2G;6...
  • zhoudaxia
  • zhoudaxia
  • 2014年05月27日 17:48
  • 7196

聊聊JVM常用参数设置

整体考虑堆大小-Xms3550m, 初始化堆大小。通常情况和-Xmx大小设置一样,避免虚拟机频繁自动计算后调整堆大小。 -Xmx3550m,最大堆大小。考虑分代设置堆大小首先通过jstat等工具查看...
  • csujiangyu
  • csujiangyu
  • 2016年07月30日 10:46
  • 2436

JVM参数配置总结

一、堆大小设置 JVM中最大堆大小有三方面限制:相关操作系统的数据模型(32-bt还是64-bit)限制;系统的可用虚拟内存限制;系统的可用物理内存限制。32位系统下,一般限制在1.5G~2G;...
  • u014351782
  • u014351782
  • 2016年11月09日 11:55
  • 950

JVM常见面试题

1. 内存模型以及分区,需要详细到每个区放什么。 栈区: 栈分为java虚拟机栈和本地方法栈   重点是Java虚拟机栈,它是线程私有的,生命周期与线程相同。 每个方法执行都会创建一个栈帧,...
  • sunsfan
  • sunsfan
  • 2016年10月24日 09:47
  • 4757

JVM启动参数详解

文章转自:http://blog.sina.com.cn/s/blog_5dd380b90100c12r.html JAVA虚拟机(JVM)通过操作系统命令JAVA_HOME\bin\jav...
  • lalioCAT
  • lalioCAT
  • 2015年09月24日 18:28
  • 3045

高手教大家如何配置jvm参数

堆大小设置 JVM 中最大堆大小有三方面限制:相关操作系统的数据模型(32-bt还是64-bit)限制;系统的可用虚拟内存限制;系统的可用物理内存限制。32位系统下,一般限制在1.5G~2G;64为...
  • wangyunpeng0319
  • wangyunpeng0319
  • 2013年12月17日 16:44
  • 1572

一个性能较好的jvm参数配置以及jvm的简介

一个性能较好的web服务器jvm参数配置: -server //服务器模式 -Xmx2g //JVM最大允许分配的堆内存,按需分配 -Xms2g //JVM初始分配的堆内存,一般和Xmx配置成一样...
  • JeffreyNicole
  • JeffreyNicole
  • 2015年07月19日 11:07
  • 3210

常见JVM异常报错解决方案

第一类内存溢出,也是大家认为最多,第一反应认为是的内存溢出,就是堆栈溢出: 那什么样的情况就是堆栈溢出呢?当你看到下面的关键字的时候它就是堆栈溢出了: java.lang.OutOfMemoryE...
  • yongfeng596
  • yongfeng596
  • 2014年10月23日 11:34
  • 1238

Tomcat配置JVM参数步骤

这里向大家描述一下如何使用Tomcat配置JVM参数,Tomcat本身不能直接在计算机上运行,需要依赖于硬件基础之上的操作系统和一个java虚拟机。您可以选择自己的需要选择不同的操作系统和对应的JDK...
  • supingemail
  • supingemail
  • 2014年01月16日 18:31
  • 2042
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:JVM架构(017)_jvm常见配置都有哪些
举报原因:
原因补充:

(最多只允许输入30个字)