JVM内存参数

1. 设置JVM内存的参数有四个:
-Xmx    Java Heap最大值,默认值为物理内存的1/4,最佳设值应该视物理内存大小及计算机内其他内存开销而定;
            -Xmx 
             此设置控制 Java 堆的最大大小。正确调整此参数有助于降低垃圾回收开销,从而缩短服务器响应时间并提
            高吞吐量。
             对于某些应用程序来说,此选项的缺省设置可能会太低,从而导致发生大量小型垃圾回收。
             缺省值: 512 MB 
             建议值: 随工作负载的不同而有所变化,但高于缺省值。 
             用法: -Xmx512m 将最大堆大小设置为 512 兆字节
 
-Xms    Java Heap初始值,Server端JVM最好将-Xms和-Xmx设为相同值,开发测试机JVM可以保留默认值;
             设置堆大小 下列命令行参数对于设置堆大小来说很有用。 
             -Xms 
             此设置控制 Java 堆的初始大小。正确调整此参数有助于降低垃圾回收开销,从而缩短服务器响应时间并提高
            吞吐量。
             对于某些应用程序来说,此选项的缺省设置可能会太低,从而导致发生大量小型垃圾回收。
             缺省值: 256 MB 
             建议值: 随工作负载的不同而有所变化,但高于缺省值。 
             用法: -Xms256m 将初始堆大小设置为 256 兆字节
 
-Xmn    Java Heap Young区大小,不熟悉最好保留默认值;
             -Xmn 
             此设置控制允许新生成的对象在堆中耗用的空间量。正确调整此参数有助于降低垃圾回收开销,从而缩短服务
            器响应时间并提高吞吐 量。此参数的缺省设置通常过低,这将导致执行大量的小型垃圾回收操作。如果将此参
            数设置得过高,可能会导致 JVM 仅执行大型( 全面)垃圾回收。这些垃圾回收操作通常会耗时几秒钟,这将
            严重影响服务器的整体性能。您必须保持将此参数设置为小于整个堆大 小的一半,以避免这种情况出现。
             缺省值: 2228224 字节 
             建议值: 大约整个堆大小的 1/4 
             用法: -Xmn256m 将大小设置为 256 兆字节。  
-Xss    每个线程的Stack大小,不熟悉最好保留默认值;

-XX:PermSize设置非堆内存初始值,默认是物理内存的1/64;

-XX:MaxPermSize设置最大非堆内存的大小,默认是物理内存的1/4。

-XX:+UseParallelGC:双核的CPU,也许可以尝试这个参数让GC可以更快的执行。

原文地址:https://www.cnblogs.com/gongdi/p/5500859.html