web服务启动jvm参数简单配置
2016-07-21 11:47
489 查看
-Xmx4G -Xms4G -Xmn1G -Xss256k -XX:PermSize=256M -XX:MaxPermSize=256m -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:+CMSClassUnloadingEnabled -XX:+DisableExplicitGC -XX:+ExplicitGCInvokesConcurrent -XX:+ExplicitGCInvokesConcurrentAndUnloadsClasses -verbose:gc -XX:+PrintGCTimeStamps -XX:+PrintGCDetails -Xloggc:/export/gc/gc.log -XX:-OmitStackTraceInFastThrow -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/export/java_mem.dump
//JDK 1.5 需要配置CMSPermGenSweepingEnabled //JDK 1.6之后 配置CMSClassUnloadingEnabled,对永久代进行垃圾回收,上面的配置已经没有了 //启动会提示 Please use CMSClassUnloadingEnabled in place of CMSPermGenSweepingEnabled in the future
如果要分配的内存>=Eden区大小的一半,那么会直接把要分配的内存放入老年代中。 -XX:PretenureSizeThreshold:设置大对象直接进入老年代的阈值,当对象的大小超过这个值将直接分配在老年代。 -XX:MaxTenuringThreshold:设置对象进入老年代的年龄,默认值时15,但是如果空间不够,还是会将对象移到老年代。
使用 jmap -heap pid查看:
Attaching to process ID 1540, please wait…
Debugger attached successfully.
Server compiler detected.
JVM version is 14.2-b01
using parallel threads in the new generation.
using thread-local object allocation.
Concurrent Mark-Sweep GC
Heap Configuration:
MinHeapFreeRatio = 40
MaxHeapFreeRatio = 70
MaxHeapSize = 4294967296 (4096.0MB) 最大堆内存4G
NewSize = 1073741824 (1024.0MB) 新生代大小1G
MaxNewSize = 1073741824 (1024.0MB) 最大新生代1G
OldSize = 3221225472 (3072.0MB)
NewRatio = 7 由于设置了-Xmn,该参数无效了
SurvivorRatio = 8 S0+S1+Eden占比 = 1+1+8 = 1G
PermSize = 134217728 (128.0MB) 初始非堆内存,持久代128M
MaxPermSize = 268435456 (256.0MB) 最大持久代256M
Heap Usage:
New Generation (Eden + 1 Survivor Space):
capacity = 966393856 (921.625MB)
used = 824721968 (786.5161590576172MB)
free = 141671888 (135.1088409423828MB)
85.34015017578919% used
Eden Space:
capacity = 859045888 (819.25MB) Eden=819M
used = 824721968 (786.5161590576172MB)
free = 34323920 (32.73384094238281MB)
96.0044136780735% used
From Space:
capacity = 107347968 (102.375MB) S0=102M
used = 0 (0.0MB) 使用0
free = 107347968 (102.375MB)
0.0% used
To Space:
capacity = 107347968 (102.375MB) S1=102M
used = 0 (0.0MB) 使用0
free = 107347968 (102.375MB)
0.0% used
concurrent mark-sweep generation:
capacity = 3221225472 (3072.0MB)
used = 2072432 (1.9764251708984375MB)
free = 3219153040 (3070.0235748291016MB)
0.06433675686518352% used
Perm Generation:
capacity = 134217728 (128.0MB)
used = 39508104 (37.67786407470703MB) 持久代使用37M
free = 94709624 (90.32213592529297MB)
29.435831308364868% used
相关文章推荐
- Java 6 JVM参数选项大全(中文版)
- 深入解析JVM对dll文件和对类的装载过程
- .NET垃圾回收器(GC)原理浅析
- 深入理解PHP原理之Session Gc的一个小概率Notice
- 深入了解Java GC的工作原理
- JVM Tomcat性能实战(推荐)
- 浅析Java中的GC垃圾回收器的意义及与GC的交互
- 浅谈关于Java的GC垃圾回收器的一些基本概念
- Java虚拟机JVM性能优化(二):编译器
- Java程序员必须知道的5个JVM命令行标志
- Android垃圾回收机制及程序优化System.gc
- Java虚拟机JVM性能优化(三):垃圾收集详解
- 简单谈谈JVM、JRE和JDK的区别与联系
- 解析Java虚拟机中类的初始化及加载器的父委托机制
- JAVA中JVM的重排序详细介绍
- 从JVM的内存管理角度分析Java的GC垃圾回收机制
- Java中垃圾回收器GC对吞吐量的影响测试
- 全面解析Java中的GC与幽灵引用
- 浅谈Java的虚拟机结构以及虚拟机内存的优化
- JVM角度调试优化MyEclipse