1: heap size 
a: -Xmx 
指定jvm的最大heap大小,如:-Xmx2g 
b: -Xms 
指定jvm的最小heap大小,如:-Xms1g 
c: -Xmn 
指定jvm中New Generation的大小,如:-Xmn256m 
d: -XX:PermSize 
指定jvm中Perm Generation的最小值,如:-XX:PermSize=32m 
e: -XX:MaxPermSize 
指定Perm Generation的最大值,如:-XX:MaxPermSize=64m 
f: -Xss 
指定线程桟大小,如:-Xss128k 
g: -XX:NewRatio 
指定jvm中Old Generation heap size与New Generation的比例,在使用CMS GC的情况下此参数失效, 如:-XX:NewRatio=2 
h: -XX:SurvivorRatio 
指定New Generation中Eden Space与一个Survivor Space的heap size比例,-XX:SurvivorRatio=8,那么在总共New Generation为10m的情况下,Eden Space为8m 
i: -XX:MinHeapFreeRatio 
指定jvm heap在使用率小于n的情况下,heap进行收缩,Xmx==Xms的情况下无效,如:-XX:MinHeapFreeRatio=30 
j: -XX:MaxHeapFreeRatio 
指定jvm heap在使用率大于n的情况下,heap进行扩张,Xmx==Xms的情况下无效,如:-XX:MaxHeapFreeRatio=70 
k: -XX:LargePageSizeInBytes 
指定Java heap的分页页面大小,如:-XX:LargePageSizeInBytes=128m 
2: garbage collector 
a: -XX:+UseParallelGC 
指定在New Generation使用parallel collector,并行收集,同时启动多个垃圾回收thread,不能和CMS gc一起使用.系统吨吐量优先,但是会有较长长时间的app pause,后台系统任务可以使用此gc 
b: -XX:ParallelGCThreads 
指定parallel collection时启动的thread个数,默认是物理processor的个数,如:-xx:ParallelGCThreads=8 
c: -XX:+UseParallelOldGC 
指定在Old Generation使用parallel collector 
d: -XX:+UseParNewGC 
指定在New Generation使用parallel collector,是UseParallelGC的gc的升级版本,有更好的性能或者优点,可以和CMS gc一起使用 
e: -XX:+CMSParallelRemarkEnabled 
在使用UseParNewGC的情况下,尽量减少mark的时间 
f: -XX:+UseConcMarkSweepGC 
指定在Old Generation使用concurrent cmark sweep gc,gc thread和app thread并行,所以称作concurrent.app pause时间较短,适合交互性强的系统,如web server 
g: -XX:+UseCMSCompactAtFullCollection 
在使用concurrent gc的情况下,防止memory fragmention,对live object进行整理,使memory碎片减少 
h: -XX:CMSInitiatingOccupancyFraction=n 
指示在old generation在使用了n%的比例后,启动concurrent collector,默认值是68,如:-XX:CMSInitiatingOccupancyFraction=70 
有个bug,在低版本的jvm上出现,http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6486089 
i: -XX:+UseCMSInitiatingOccupancyOnly 
指示只有在old generation在使用了初始化的比例后concurrent collector启动收集 
3:others 
a: -XX:MaxTenuringThreshold 
指定一个object在经历了n次young gc后转移到old generation区,在linux64的java6下默认值是15,此参数对于throughput collector无效,如:-XX:MaxTenuringThreshold=31 
b: -XX:+DisableExplicitGC 
禁止java程序中的full gc,如System.gc()的调用 
c: -XX:+UseFastAccessorMethods 
原始类型get,set方法的优化 
d: -XX:+PrintGCDetails 
打应垃圾收集的情况如: 
[GC 15610.466: [ParNew: 229689K->20221K(235968K), 0.0194460 secs] 1159829K->953935K(2070976K), 0.0196420 secs] 
e: -XX:+PrintGCTimeStamps 
打应垃圾收集的时间情况,如: 
[Times: user=0.09 sys=0.00, real=0.02 secs] 
f: -XX:+PrintGCApplicationStoppedTime 
打应垃圾收集时,系统的停顿时间,如: 
Total time for which application threads were stopped: 0.0225920 seconds 
4  -XX:+UseCompressedOops 
    压缩指针  64位机器,JDK1.6支持

JVM学习之GC参数设置的更多相关文章

  1. JVM学习--(三)配置参数

    JVM配置参数分为三类参数: 1.跟踪参数 2.堆分配参数 3.栈分配参数 这三类参数分别用于跟踪监控JVM状态,分配堆内存以及分配栈内存. 跟踪参数 跟踪参数用于跟踪监控JVM,往往被开发人员用于J ...

  2. JVM学习笔记——GC垃圾收集器

    GC 垃圾收集器 Java 堆内存采用分代回收算法,因此 JVM 针对新生代和老年代提供了多种垃圾收集器. 1. Serial 收集器 Serial 收集器是单线程收集器,采用复制算法. 是最基本的垃 ...

  3. JVM学习之GC常用算法

    出处:博客园左潇龙的技术博客--http://www.cnblogs.com/zuoxiaolong,多谢分享 GC策略解决了哪些问题? 既然是要进行自动GC,那必然会有相应的策略,而这些策略解决了哪 ...

  4. JVM学习02:GC垃圾回收和内存分配

    JVM学习02:GC垃圾回收和内存分配 写在前面:本系列分享主要参考资料是  周志明老师的<深入理解Java虚拟机>第二版. GC垃圾回收和内存分配知识要点Xmind梳理 案例分析1-(G ...

  5. JVM学习笔记——GC算法

    GC 算法 GC 即 Garbage Collection 垃圾回收.JVM 中的 GC 99%发生在堆中,而 Java 堆中采用的垃圾回收机制为分代收集算法.即将堆分为新生代和老年代,根据不同的区域 ...

  6. JVM调优-GC参数

    一.Throughput收集器(吞吐量)-XX:+UseParallelGC-XX:+UseParallelOldGC *参数调整:通过调整堆大小,减少GC停顿时间,增大吞吐量增强堆大小可以减少Ful ...

  7. JVM调优及参数设置

    (1)参数 -Xms:初始堆大小 -Xmx :最大堆大小 此值可以设置与-Xmx相同,以避免每次垃圾回收完成后JVM重新分配内存 -Xmn :年轻代大小 整个堆大小=年轻代大小 + 年老代大小 + 持 ...

  8. JVM 内存区域大小参数设置

    JVM内存包括区域 Heap(堆区) New Generation(新生代) Eden 伊甸园 Survivor From Survivor To Old Generation(老年代) 方法区 Pe ...

  9. loadrunner学习笔记之参数设置

    一.关于参数的定义 在你录制程序运行的过程中,脚本生成器自动生成由函数组成的用户脚本.函数中参数的值就是在录制过程中输入的实际值. 例如,你录制了一个Web应用程序的脚本.脚本生成器生成了一个声明,该 ...

随机推荐

  1. Asp.Net(C#) MD5 加密

    /// <summary> /// MD5 字符串加密  /// </summary> /// <param name="str">需要加密的字 ...

  2. SQL Server数据恢复——日志备份

    太坑了,我把数据给删了 “大坑啊,数据被我误删了.”从事数据库相关工作的过程中,我想应该很多人会有过和我一样的遭遇吧?尤其是在进行update或者delete操作的时候,忘记了where条件.这些毁灭 ...

  3. oracle权限的分配

    一.创建 sys:   //系统管理员,拥有最高权限 system://本地管理员,次高权限 scott: //普通用户,密码默认为tiger,默认未解锁 二.登陆 sqlplus / as sysd ...

  4. 转 android 侧滑实现

    本篇博客给大家分享一个效果比较好的侧滑菜单的Demo,实现点击左边菜单切换Fragment. 效果如下: 主Activity代码: package com.infzm.slidingmenu.demo ...

  5. 屏蔽错误:LNK2038

    最近在使用Qt(VS2010编译)的过程中,需要调用COM库,在Qt中加入了QAxContainer模块,是一个LIB库,在把编译模式从Debug改为Release 后链接报告了一堆错误 -1: 错误 ...

  6. poj 3411 Paid Roads

    题意:有m条路,n座城市,走这些路是要付费的,每条路由两种付费方案,设一条路两端是a,b,如果走完这条路在b点付费的话,应付r,如果走这条路之前在c点付费的话,应付p,求从1端点走到n端点的最小费用. ...

  7. Spring发送电子邮件

      Spring提供了发送电子邮件的功能,它向用户屏蔽了底层邮件系统的一些细节,同时代表客户端负责底层的资源处理. Spring的邮件服务支持主要是通过JavaMailSender这个接口实现的: p ...

  8. 在外部存储器上写入或读取文件(Environment类、File类的使用)

    1.Environment类 简单介绍:http://www.cnblogs.com/mengdd/p/3742623.html 详细介绍:http://www.2cto.com/kf/201408/ ...

  9. shell script 零碎知识

    1.test命令的测试功能 -e  文件名是否存在 -f  文件名是否存在且为文件 -d  文件名是否存在且为目录 范例1    检查/dmtsai是否存在,存在输出 exist  不存在输出 Not ...

  10. Oracle EBS-SQL (MRP-2):检查期间主计划录入记录数.sql

    SELECT      FU.description                           创建者,      MSD.CREATION_DATE             创建日期,   ...