转载

JVM的内存参数(skycto JEEditor)

1.jvm的内存参数说明:

-Xms: jvm启动时申请的初始Heap值,默认为操作系统物理内存的1/64但是小于1G;(8G内存的机器为:128M);默认当空余堆的内存大于70%时,JVM会减小到-Xms制定的大小;

-Xmx: JVM可申请的最大Heap值,默认为无力内存的1/4但小于1G;(8G内存的机器为:1G);默认当空余堆内存小于40%时,JVM会增大Heap到-Xmx指定的大小;

-XX:MinHeapFreeRation:指定堆内存的放缩比例;

-Xmn:配置年轻代大小,对系统性能影响较大;老年代为-Xmx的值减去它的值;(大对象和大的数组对象会直接在老年代分配);

-XX:PretenureSizeThreshold=? 用于配置大对象的界定,默认为零;超过其值就被认为是大对象;

-Xss: java每个线程的Stack大小;jdk5以后,每个线程堆栈大小为1M; 相同无力内存下,减小这个值能生成更多的线程; OS对一个进程内的现场有限制,大致在3000~5000左右;

-XX:PermSize 持久代的初始化大小;

-XX:MaxPermSize 持久代的最大内存大小:

-XX+UseSerialGc: jvm的默认GC方式,效率较高,但可能给应用带来停顿;

-XX:+UseParallelGC: 并行GC,效率高,算法复杂,消耗较大;

-XX:parallelGCThreads: 并行收集器的线程数;

-XX:+UseCMSCompactAtFullCollection: 在full gc后,对内存碎片进行整理;

-XX:CMSFullGCsBeforeCompaction=? : 用来控制多少次Full GC后进行碎片整理;

参数分类:

-标准参数; -X: 非标准参数; -XX:非Stable参数;

原文  https://segmentfault.com/a/1190000020388548
正文到此结束
Loading...