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 参数;