JVM内存调整优化

如果看linux是多少32还是64位 命令
MaxNewSize默认值
参考:
http://eyesmore.iteye.com/blog/1530996
http://www.cnblogs.com/redcreen/archive/2011/05/04/2037057.html
http://www.cnblogs.com/mingforyou/archive/2012/03/03/2378143.html
http://unixboy.iteye.com/blog/174173
http://www.blogjava.net/cpegtop/articles/377081.html   
http://blog.csdn.net/ye1992/article/details/9344807
   
JVM初始分配的内存由-Xms指定,默认是物理内存的1/64;JVM最大分配的内存由-Xmx指 定,默认是物理内存的1/4。默认空余堆内存小于 40%时,JVM就会增大堆直到-Xmx的最大限制;空余堆内存大于70%时,JVM会减少堆直到-Xms的最小限制。因此服务器一般设置-Xms、 -Xmx相等以避免在每次GC 后调整堆的大小。可以利用JVM提供的-Xmn -Xms -Xmx等选项可进行堆内存设置,一般的要将-Xms和-Xmx选项设置为相同,而-Xmn为1/4的-Xmx值,建议堆的最大值设置为可用内存的最大值的80%。   
    -Xmn 是将NewSize与MaxNewSize设为一致。320m

3)Old Generation Size (Tenured)


-XX:NewRatio --- Old Size/New Size,通过年老代和年轻代的比例和Heap Size就可以算出年老代的大小。一般默认为8,若Heap Size为1024m,则 NewSize=HeapSize/(NewRatio+1)=114m,OldSize=HeapSize-NewSize=910m;
注意:-Xmn的优先级比-XX:NewRatio高,若-Xmn已指定,则OldSize=HeapSize-NewSize,无需再按比例计算。生产环境中一般只需指定-Xmn就足够了。
参考:http://my.oschina.net/chape/blog/200790




-Xmn    Java Heap Young区大小,不熟悉最好保留默认值;
             -Xmn 
             此设置控制允许新生成的对象在堆中耗用的空间量。正确调整此参数有助于降低垃圾回收开销,从而缩短服务
            器响应时间并提高吞吐 量。此参数的缺省设置通常过低,这将导致执行大量的小型垃圾回收操作。如果将此参
            数设置得过高,可能会导致 JVM 仅执行大型( 全面)垃圾回收。这些垃圾回收操作通常会耗时几秒钟,这将
            严重影响服务器的整体性能。您必须保持将此参数设置为小于整个堆大 小的一半,以避免这种情况出现。
             缺省值: 2228224 字节 
             建议值: 大约整个堆大小的 1/4 
             用法: -Xmn256m 将大小设置为 256 兆字节。  
-Xss    每个线程的Stack大小,不熟悉最好保留默认值;
参考:http://wuce7758.iteye.com/blog/1068661


-XX:+AggressiveOpts 加快编译
参考:http://www.cnblogs.com/redcreen/archive/2011/05/04/2037057.html




如果设置了NewRatio,那么整个堆空间的1/(NewRatio +1)就是新生代空间的大小
参考:http://www.importnew.com/13954.html




https://community.oracle.com/thread/1177195?start=0&tstart=0




 图中参数含义如下: 
    S0 — Heap上的 Survivor space 0 区已使用空间的百分比     S1 — Heap上的 Survivor space 1 区已使用空间的百分比     E   — Heap上的 Eden space 区已使用空间的百分比     O   — Heap上的 Old space 区已使用空间的百分比     P   — Perm space 区已使用空间的百分比 
    YGC — 从应用程序启动到采样时发生 Young GC 的次数 
    YGCT– 从应用程序启动到采样时 Young GC 所用的时间(单位秒)     FGC — 从应用程序启动到采样时发生 Full GC 的次数 
    FGCT– 从应用程序启动到采样时 Full GC 所用的时间(单位秒)     GCT — 从应用程序启动到采样时用于垃圾回收的总时间(单位秒) 
参考:http://www.aiuxian.com/article/p-2032660.html 

Oldsize  = 可用内存 - 年轻代

你可能感兴趣的:(jvm内存调优)