常见Java虚拟机参数
- -Xss=1m:表示JVM每个线程所占用的最大内存(计数器、JVM虚拟机栈、本地方法栈之和),Linux64位操作系统下,默认值就是1Mb
- -Xmx1024m: 表示JVM内存最大是1024M;
- -Xms1024m:表示JVM内存最小是1024M;
- -Xmn200m:表示新生代内存是200M,则剩下的内存就是老年代;
- -XX:SurvivorRadio=3:表示Eden区/From区的比值是3,所以如果Eden区内存是200Mb,则From区内存就是200/3=67Mb,Survivor区内存就是200 / 3 * 2 = 133Mb
- -XX:NewRatio=2:1:表示老年代和新生代的内存比值是2:1
- -XX:MaxNewSize=100Mb:表示设置新生代的最大内存值是100Mb
- -XX:NewSize=100Mb:表示设置新生代的最小内存是100Mb
- -XX:CompressedClassSpaceSize=100Mb:表示设置JVM方法区
class space
的最大内存大小 - -XX:MaxMatespace=2048m:表示设置元空间(JDK8之后方法区的叫法)的最大内存为2G。
- -XX:ReservedCodeCacheSize=240m:控制JIT即时编译器的缓存空间最大为240Mb
建议生产环境将JVM内存最大值和最小值设置为相同值,避免内存扩容带来的性能损耗