jvm调优

来源:互联网 发布:淘宝店铺营销技巧 编辑:程序博客网 时间:2024/06/16 09:27

-Xms初始堆大小

-Xmx堆最大的容量,超过后报错 outofmemory:java heap

-Xss设置栈大小,栈是每个线程私有的区域,保存函数调用过程、局部变量、函数参数,决定函数调用深度,递归太深或者使用大量局部变量时报错 StackOverflowSError

-Xmn设置新生代(年轻代)的大小

-XX:PermSize=n 非堆内存初始大小,gc不会清理此区域,此区域用于存放class和meta信息,class被load的时候放进的permGen space

-XX:MaxPermSize=n 设置持久代的大小

-XX:NewRatio=n 新生代与老年代的比例 1:n,默认为3:8

-XX:SurvivorRatio=n 新生代中Eden和survivor from、survivor to的比例 n:1:1

-XX:HeapDumpOnOutOfMemoryError 发生OOM时堆转储到文件

-XX:HeapDumpPath 堆转储到文件的路径

-XX:OnOutOfMemoryError OOM时执行一个脚本,后面跟脚本路径

垃圾回收cms(concurrent-mark-sweep)标记-清除算法,以牺牲吞吐量为代价来获得最短回收停顿时间。不会压缩堆空间,会产生碎片。

-XX:+UseSerialGC  Serial + Serial Old 新生代和老年代都使用串行gc

-XX:+UseParallelGC Parallel + Serial Old 新生代使用并行gc,老年代使用串行gc

-XX:+UseParallelOldGC parallel + Parallel Old 新生代和老年代都使用并行gc

-XX:+UseConcMarkSweepGC ParNew + CMS + Serial Old 新生代使用并行gc,老年代使用cms

-XX:+UseParNewGC  UseParallelGC的升级,可以和CMS一起用

-XX:ParallelGCThreads=n 并行gc的线程个数,默认为processor个数

-XX:UseCMSCompactAtFullCollection 在full gc的时候,对老年代压缩

-XX:MaxTenuringThreshold=n 垃圾最大存活时间

-XX:UseCMSInitiatingOccupancyOnly   使用手动定义(之前的配置)什么时候执行gc

0 0