官网详解地址:
http://blogs.oracle.com/watt/resource/jvm-options-list.html
常用JVM参数汇总
-Xms2g
设置heap初始值为2G
|
-Xmx2g
设置heap最大值为2G。建议跟-Xms一样,可以避免频繁GC。
|
-Xmn1g
设置新生代空间大小为1G. 最佳值为-Xmx的1/3.
|
-XX:PermSize=96m
-XX:MaxPermSize=256m
永久保存的区域,用于存放Class和Meta信息,Class在被Load的时候被放入该区域。
|
-XX:SurvivorRatio=10
设置新生代中Eden区与Survivor区的大小比值为10. 则一个 Survivor区占整个新生代空间的1/12。 ( 新生代中包含一个Eden区和两个 Survivor区。)
|
|
-XX:+DisableExplicitGC
设置 System.gc() 调用为一个空操作。
|
-XX:HeapDumpOnOutOfMemoryError
-XX:HeapDumpPath=/tmp/logs
OOM时,通知JVM 拍摄一个 “堆转储快照”,并将其保存在/tmp/logs下。
|
-XX:+UseConcMarkSweepGC
Concurrent Low Pause GC。多线程GC,并要求缩短因GC造成程序停滞的时间。这种GC可以在Old区的回收同时,运行应用程序。
|
-XX:+UseCMSCompactAtFullCollection
在使用 concurrent gc 的情况下 , 防止 memory fragmention, 对 live object 进行整理 , 使 memory 碎片减少 。
|
-XX:CMSInitiatingOccupancyFraction=<n>
指示在 old generation 在使用了 n% 的比例后 , 启动 concurrent collector, 默认值是 68。
|
-verbose:gc
Report on each garbage collection event.
|
-Xloggc:/tmp/jvm/gc.log
Log garbage collection actions to a specified file.
|
-XX:+PrintGCDetails
打印垃圾收集的情况.
|
-XX:+PrintGCDateStamps
-XX:+PrintGCTimeStamps
|
|
-XX:+UseCompressedOops
压缩指针以节约内存。
注意:仅限JDK 1.6 update14以上,且64 bit JVM。
|
- |
- |
- |
参考地址:
1. http://www.blogjava.net/huanghuizz/articles/287127.html
2. http://blogs.sun.com/watt/resource/jvm-options-list.html
3. http://www.oracle.com/technetwork/java/javase/tech/vmoptions-jsp-140102.html
4. http://download.oracle.com/javase/6/docs/index.html
分享到:
相关推荐
JVM 内存参数详解以及配置调优 JVM 内存参数是 Java 虚拟机中最重要的参数之一,它直接影响着 Java 应用程序的性能和稳定性。在这个资源中,我们将详细讨论 JVM 内存参数的配置和调优,包括 JVM 的结构、内存管理、...
### 常用JVM配置参数详解 #### 一、概述 Java虚拟机(JVM)是运行Java程序的核心环境,其性能的优劣直接影响到Java应用程序的执行效率。为了更好地控制JVM的行为并进行调优,熟悉JVM的配置参数至关重要。本文将深入...
### JVM内存空间分配详解 #### 一、JVM内存模型概览 JVM(Java虚拟机)内存模型主要由以下几个部分组成:程序计数器、Java虚拟机栈、本地方法栈、Java堆以及方法区(在JDK 8之后称为元空间)。下面将对这几个部分...
本文将深入探讨如何在Java中获取JVM内存大小,包括堆内存的总量、最大值以及剩余空间,并解析给定代码片段中的关键概念。 ### JVM内存模型 在讨论如何获取JVM内存大小之前,首先需要理解JVM的内存布局。JVM内存...
总结起来,深入理解JVM内核,熟练掌握诊断技巧,并合理调整JVM配置参数,是每一个Java开发者必备的技能。通过本教程的学习,你将能够运用这些知识有效地提升应用性能,解决实际工作中的各种挑战。
一、JVM内存设置 1. **堆内存**: - `-Xms`:初始堆大小,例如`-Xms256m`表示初始分配256MB内存。 - `-Xmx`:最大堆大小,例如`-Xmx1024m`表示最大可分配1GB内存。这两个参数确保了JVM启动时和运行过程中的内存...
第二节:JVM内存模型 1.1 概念 1.2 JVM内存模型 1.3 Heap堆内存模型 第三节:定位垃圾对象的依据 1.1 引用计数法 1.2 可达性算法 第四节:垃圾回收算法 1.1标记清除算法 1.2复制算法 1.3 标记整理(标记压缩)...
### JVM内存参数详解 在Java开发过程中,合理配置JVM(Java虚拟机)参数对于提升应用性能至关重要。本文将深入探讨几种常用的JVM内存管理参数及其应用场景,旨在帮助开发者更好地理解JVM的工作机制,并能够有效地对...
这些参数用于调整JVM的内存分配、垃圾收集行为以及各种其他配置选项。以下是一些关键的JVM参数及其作用: 1. **Xms** 和 **Xmx**: 这两个参数用于设置Java堆内存的大小。`Xms`设定初始堆大小,而`Xmx`设定最大堆...
理解JVM内存管理的同时,还需要掌握一些工具来监控和调整JVM参数。常用的工具有: 1. jconsole:Java可视化监控工具,可以查看JVM内存、线程、类加载等信息。 2. jvisualvm:集成于JDK,提供更丰富的监控功能,...
常见的堆内存参数有`-Xms`和`-Xmx`,分别用于设置初始堆大小和最大堆大小。 - **新生代**:新生代又分为Eden区和两个Survivor区。`-XX:NewRatio`用于设置新生代与老年代的比例,`-XX:SurvivorRatio`用于设置Eden区...
- 在设置JVM参数时,应考虑服务器或工作站的实际内存大小。设置过大的堆内存可能导致其他应用程序无法获得足够的内存资源,从而影响整体系统性能。 - 需要根据具体项目的需求调整JVM参数。例如,处理大数据量的应用...
以下是对JVM内存结构、垃圾回收机制及其相关面试问题的详细解答: 1. JVM内存区域: - **堆内存**:存放所有的Java对象实例,是所有线程共享的区域。在Java 8之前,它包括年轻代(Young Generation)、年老代(Old...
本文将详细介绍一些常用的JVM参数设置,这些参数适用于线上关键业务系统,并且具有较高的通用性。 #### 二、学习资源推荐 1. **开源项目启动脚本**:参考成熟的开源项目如ElasticSearch和Cassandra的启动脚本可以...
以下是对JVM部分关键配置参数的详细解析,这些参数能够帮助我们优化应用程序的执行效率,管理内存,以及进行性能调优。 #### 执行模式配置 1. **-Xmixed**: 混合模式执行(默认)。此参数指示JVM使用混合模式执行...
JVM性能调优-JVM内存整理及GC回收 JVM(Java Virtual Machine)性能调优是 Java 开发者需要掌握的重要技能之一。 JVM 的性能调优主要涉及到 JVM 内存整理、垃圾回收(GC)机制等方面。 Java 中的值传递和引用传递...
#### 常用JVM参数详解 下面列举了一些常用的JVM参数及其功能: - **-Xms 和 -Xmx**: 设置JVM初始堆大小和最大堆大小。这两个参数对于避免内存溢出至关重要。 - `-Xms`: 设置JVM启动时的初始堆内存大小。 - `-Xmx...
《Jvm内存分配(7)》这篇博文主要探讨的是Java虚拟机(JVM)中的内存管理,特别是关于内存分配的相关知识。在Java程序运行时,JVM会为不同部分的内存区域进行分配,以保证程序的正常执行。以下是对这一主题的详细...