`

jvm参数设置说明

 
阅读更多

1.堆

-Xms:xxm 最小

-Xmx:xxm 最大

-XX:+HeapDumpOnOutOfMemoryError  出现内存溢出情况转存快照

-Xmn:young

-XX:SurvivorRatio=8

-XX:InitialSurvivorRatio=8

-XX:+UseAdaptiveSizePolicy

-XX:MaxTenuringThreshold=20

 

 

2.栈

-Xss128k

 

3.方法区(永久代)

-XX:PermSize=xxm -XX:PermMaxSize=xxm

 

4.直接内存

-XX:MaxDirectMemorySize=xxm

默认与堆大小相同

 

5.hotspot堆

指针碰撞和空闲列表分配内存

句柄和直接指针定位对象

 

6.判断对象是否存活

引用计数和可达性分析GC Roots

 

7.垃圾收集算法

标记-清除

复制算法

标记-压缩

分代收集

 

 

8.收集器

serial:单线程 stop the world,新生代收集器,client效率高

parnew:多线程,其他与serial基本相同,与CMS配合使用,新生代收集器,server效率高

parallel scavenge:新生代,复制算法,可控吞吐量,自适应调节策略

serial old:标记-压缩,单线程client下;server下与parallel scavenge配合,作为CMS的后备

parallel old:parallel scavenge配合使用在吞吐量高CPU敏感场合

CMS:concurrent mark sweep,old generation

G1:Garbage-First

 

9.jvm选项

压缩指针:-XX:+UseCompressdOops

jit编译模式:-client -server

类数据共享:-Xshare:on/off

开启偏向锁:-XX:UseBiasedLocking

VM崩溃报告:-XX:+ShowMessageBoxOnError

-XX:OnOutOfMemoryErorr=<cmd>

-XX:HeapDumpOnOutOfMemory

-XX:HeapDump- Path=<dir>

混合编译:-server: -XX:+TieredCompilation

查看虚拟机自动优化参数: -XX: +PrintCommandLineFlags

java -XX:+PrintCommandLineFlags -version

加载的类:-XX:+TraceClassLoading

默认值:-XX: +PrintFlagsInitial

 

10.tomcat

  JAVA_OPTS="$JAVA_OPTS -server -Xms1024m -Xmx1024m -XX:PermSize=128M -XX:MaxPermSize=128m"
  #Config GC
  JAVA_OPTS=$JAVA_OPTS" -XX:+UseConcMarkSweepGC"
  JAVA_OPTS=$JAVA_OPTS" -XX:CMSInitiatingOccupancyFraction=70"
  #add GC log
  JAVA_OPTS=$JAVA_OPTS" -Xloggc:$TOMCAT_HOME/logs/gc.log -XX:+PrintGCDetails -XX:+PrintGCDateStamps"
  JAVA_OPTS=$JAVA_OPTS" -XX:+PrintGCApplicationConcurrentTime -XX:+PrintGCApplicationStoppedTime"
  JAVA_OPTS=$JAVA_OPTS" -XX:+HeapDumpOnOutOfMemoryError"
  JAVA_OPTS=$JAVA_OPTS" -XX:HeapDumpPath=$TOMCAT_HOME/logs/heapDump.log"
  JAVA_OPTS=$JAVA_OPTS" -Dcom.sun.management.jmxremote"
  JAVA_OPTS=$JAVA_OPTS" -Dcom.sun.management.jmxremote.port=10098"
  JAVA_OPTS=$JAVA_OPTS" -Dcom.sun.management.jmxremote.authenticate=false"
  JAVA_OPTS=$JAVA_OPTS" -Dcom.sun.management.jmxremote.ssl=false"
  JAVA_OPTS=$JAVA_OPTS" -Djava.rmi.server.hostname=10.4.3.197"

 

分享到:
评论

相关推荐

    JVM参数设置详细说明

    JVM参数设置是Java应用程序优化的关键环节,直接影响到程序的性能和稳定性。下面将详细解释提供的JVM参数及其对性能的影响。 1. **堆大小设置**: - `-Xmx` 和 `-Xms` 用于设定JVM的最大堆(`Max Heap Size`)和最小...

    JVM配置参数说明

    ### JVM配置参数详解 在Java虚拟机(JVM)的运行过程中,通过一系列的命令行参数,我们可以调整其性能和行为。以下是对JVM部分关键配置参数的详细解析,这些参数能够帮助我们优化应用程序的执行效率,管理内存,...

    Java虚拟机JVM参数配置说明.pdf

    #### 如何获取JVM参数配置信息 可以通过命令行方式获取JVM的所有参数配置信息。例如,在Windows平台上,通过`cmd`进入`J2SDK`安装目录下的`bin`目录,运行以下命令: ```batch java -X ``` 这会显示包括`java.exe...

    常用JVM配置参数.ppt

    ### 常用JVM配置参数详解 #### 一、概述 Java虚拟机(JVM)是运行Java程序的核心环境,其性能的优劣直接影响到Java应用程序的执行效率...在实际应用中,建议根据具体的应用场景灵活调整JVM参数,以达到最佳的运行效果。

    java学习之JVM调优相关说明

    将机器的JVM参数设置到最优 一般的Java都不需要进行JVM优化 减少代码层面造成的GC问题(STW) 减少使用全局变量、大对象以及减少创建对象的数量 通过代码解决GC情况比优化JVM参数更好 架构和代码调优等级优先于JVM...

    JVM入门实战/arthas实战/垃圾回收算法/垃圾回收器/jvm内存模型分析

    本系列课程从JVM基础到高级实战,老师手把手教你如何进行JVM...1.3JVM参数设置思路1.4JVM调优常用指令说明 第七节:JVM项目实战 1.1案例背景 1.2排查步骤 1.3.arthas 1.3.1.arthas简介 1.3.2.arthas实战 1.3总结

    Java6 JVM命令行参数

    ### Java6 JVM命令行参数详解 #### 概述 Java虚拟机(JVM)提供了丰富的命令行参数选项,用于调整和优化Java应用程序的运行环境。这些参数对于开发人员来说至关重要,尤其是在资源管理和性能优化方面。本篇文章将深入...

    Java虚拟机(JVM)参数配置说明.doc

    在了解具体参数之前,首先需要知道如何查看可用的JVM参数及其说明。以下是在Windows平台上的示例步骤: 1. **打开CMD命令提示符**:点击开始菜单 -&gt; 所有程序 -&gt; Java -&gt; Java SDK -&gt; Command Prompt。 2. **切换到...

    JVM 参数详解-基于jdk1.7

    (中英文)JVM 参数详解,用心整理成Excel文档。包含所有近100条JVM参数的详细说明及设置方法,中英文对照,极方便阅读。转载请标明我这的源地址:http://download.csdn.net/download/xiucaiyao/10257573

    Applet应用参数说明

    接下来,我们讨论Applet在HTML中的参数说明: - `CODE`标志:定义了Applet的类名,决定了哪个Java类会被执行。 - `CODEBASE`标志:指定了Applet的URL地址,可以是绝对地址或相对于HTML文件的相对路径。 - `ALT`标志...

    java 6 jvm 参数选项大全

    以上介绍了部分重要的JVM参数选项及其使用说明。在实际开发过程中,根据具体需求选择合适的参数组合对于提升应用性能至关重要。需要注意的是,非稳态选项的调整往往涉及到对JVM内部运作机制的理解,因此建议在充分...

    jvm.zip_jvm_knownobc_tomcat

    1. **JVM参数设置**: JVM的参数设置对于控制Tomcat内存分配至关重要。例如,`-Xms`和`-Xmx`分别用于设定JVM初始堆大小和最大堆大小,确保Tomcat启动时有足够的内存,并防止因内存不足导致的系统崩溃。`-XX:NewSize...

    JVM 参数配置详细介绍

    以下是对JVM参数配置的详细说明: 1. **堆内存配置**: - `-Xms`:设置JVM启动时分配的初始堆内存大小。 - `-Xmx`:设置JVM可使用的最大堆内存大小。 - `-Xmn`:设置年轻代(Young Generation)的大小,年轻代是...

    JVM -XX 参数介绍

    ### JVM -XX 参数详解 #### 功能开关参数 在深入探讨JVM的-XX参数之前,我们首先要明白,这些参数主要是用于微调JVM的行为,适用于开发者或系统管理员在特定场景下进行性能优化或问题诊断。下面,我们将详细介绍...

    深入JVM内核 - 原理、诊断与优化

    介绍常用的JVM参数,包括内存分配、堆栈分配、虚拟机运行模式以及调试跟踪参数。 第四课 GC的算法和种类 引用计数 标记清除 复制算法 标记压缩 可触及性 本章是理论性较强的一章,主要介绍GC的基本算法和思想,本...

    jvm详解资料

    这通常通过设置不同的JVM参数来实现,如-Xms、-Xmx、-XX:+UseConcMarkSweepGC等。 - **JVM简单理解**:JVM的内存模型包括Java栈、堆、方法区、程序计数器和本地方法栈。其中,堆和方法区是所有线程共享的,而Java栈...

    Java jvm虚拟机.zip

    在JVM性能优化方面,我们关注的点包括内存调优(调整堆大小、新生代与老年代比例等)、垃圾回收器的选择、线程池配置、类装载策略以及JVM参数设置等。了解JVM内部工作原理有助于识别和解决性能瓶颈,提高应用的响应...

    性能调优+JVM详解+JVM核心参数

    本教程详细介绍了JVM(Java虚拟机)的结构、类型和编译器模式、参数分类、即时编译器(JIT)诊断工具、垃圾回收机制、内存调优方法,以及并行和CMS垃圾回收器的优化策略。重点内容包括: JVM类型和编译器模式:...

    JVM实用参数

    本节介绍的JVM参数如下: | 参数 | 说明 | |----------------|----------------------------------------------------------| | `-version` | 打印JVM版本信息 | | `-showversion` | 打印版本信息并执行程序 | | `-...

Global site tag (gtag.js) - Google Analytics