基础参数系类(内存分配)
-server:一定要作为第一个参数,在多个CPU时性能佳
-Xmn:young generation的heap大小,一般设置为Xmx的3、4分之一
-Xms:初始Heap大小,使用的最小内存,cpu性能高时此值应设的大一些
-Xmx:Java heap最大值,使用的最大内存(上面两个值是分配JVM的最小和最大内存,取决于硬件物理内存的大小,建议均设为物理内存的一半。)默认为1/64 和 1/4
-XX:PermSize:设定内存的永久保存区域
-XX:MaxPermSize:设定最大内存的永久保存区域-XX:NewSize:设置新生去的初始化大小
-XX:MaxNewSize: 设置新生区的最大内存空间值 默认为(1/64)
-Xss15120k(每个线程的Stack大小) 这使得JBoss每增加一个线程(thread)就会立即消耗15M内存,而最佳值应该是128K,默认值好像是512k.+XX:AggressiveHeap 会使得 Xms没有意义。这个参数让jvm忽略Xmx参数,疯狂地吃完一个G物理内存,再吃尽一个G的swap。
-XX:+UseParNewGC :缩短minor收集的时间
-XX:+UseConcMarkSweepGC :缩短major收集的时间提示:此选项在Heap Size 比较大而且Major收集时间较长的情况下使用更合适。
-XX:+PrintTenuringDistribution
作用:输出survivor区对象年龄段分布情况,及对象阀值。
方法区
PermSize(metaspace)和MaxPermSize(metaspace)指明虚拟机为java永久生成对象(Permanate generation)如,class对象、方法对象这些可反射(reflective)对象分配内存限制,这些内存不包括在Heap(堆内存)区之中。
-XX:PermSize(metaspace)=64MB 最小尺寸,初始分配
-XX:MaxPermSize(metaspace)=256MB 最大允许分配尺寸,按需分配过小会导致:java.lang.OutOfMemoryError: PermGen space(metaspace)
MaxPermSize(metaspace)缺省值和-server -client选项相关。
-server选项下默认MaxPermSize为64m
-client选项下默认MaxPermSize为32m
经验:
1、慎用最小限制选项Xms,PermSize(metaspace)已节约系统资源。
本文来自博客园,作者:洛神灬殇,转载请注明原文链接:https://www.cnblogs.com/liboware/p/11914117.html,任何足够先进的科技,都与魔法无异。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/70352.html