zoukankan      html  css  js  c++  java
  • eclipse java8优化

    机器物理内存16GB (8G内存请将参数减半)
    eclipse版本:IBM Rational® Software Architect Designer for WebSphere(Version:9.5)
    如果非IBM Rational 的eclipse、请将下列标有[IBM]标识的参数用'#'注掉或将其删除、如有任何疑问和建议可以联系我。
    -----------------------------------------------------
    -vm
    jdk/jre/bin/javaw.exe
    -startup
    plugins/org.eclipse.equinox.launcher_1.3.0.v20140415-2008.jar
    --launcher.library
    plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.200.v20150204-1316
    -install
    C:/IBM/SDP
    -vmargs
    -Xquickstart
    -XX:+PrintGCDetails
    -XX:+PrintGCDateStamps
    #-Xloggc:C: emplogsgcgc.log
    -Xverbosegclog:C: emplogsgcgc.log
    -Xms4096m
    -Xmx4096m
    #-Xgcpolicy:gencon
    #-Xmn1536m
    -Xmns1024m
    -Xmnx1024m
    -Xscmx512m
    -Xshareclasses:name=IBMSDP_%u
    -XX:PermSize=1024m
    -XX:MaxPermSize=4096m
    -Xverify:none
    -XX:CompileThreshold=100
    -XX:ParallelGCThreads=4
    -XX:+DisableExplicitGC
    -XX:+UseParNewGC
    -XX:+UseConcMarkSweepGC
    -XX:CMSInitiatingOccupancyFraction=80
    -Xcompressedrefs
    -Dcom.ibm.ws.management.event.max_polling_interval=1000
    -Djava.util.Arrays.useLegacyMergeSort=true
    -----------------------------------------------------
    参数解释及相关优化方案:
    Ⅰ、内存代的优化
    -Xms   初始总堆内存,默认是物理内存的1/64;JVM最大分配的内存由-Xmx指定,默认是物理内存的1/4。默认空余堆内存小于40%时,JVM就会增大堆直到-Xmx的最大限制;空余堆内存大于70%时,JVM会减少堆直到-Xms的最小限制。因此服务器一般设置-Xms、-Xmx相等以避免在每次GC 后调整堆的大小。
    非堆内存分配
    -Xmx   最大总堆内存,一般设置为物理内存的1/4
    -Xmn   年轻带堆内存,sun官方推荐为整个堆的3/8
         使用 -Xgcpolicy:gencon 或 -Xgcpolicy:balanced 时,-Xmn 选项相当于设置 -Xmns 和 -Xmnx 选项[IBM]
         使用 -Xgcpolicy:gencon 时,-Xmnx 设置新区域的最大大小。缺省情况下,此选项设置为 -Xmx 选项值的 25%。如果禁用 scavenger,将忽略 -Xmnx 选项[IBM]
         使用 -Xgcpolicy:balanced 时,-Xmnx 设置 Eden 空间的最大大小。缺省情况下,此选项设置为 -Xmx 选项值的 25%[IBM]
         对于 -Xgcpolicy:gencon 和 -Xgcpolicy:balanced 策略,如果您尝试同时使用 -Xmnx 和 -Xmn,那么 JVM 会返回错误[IBM]

    -Xmns   选项根据指定的垃圾回收策略,为新区域或 Eden 空间设置初始大小[IBM]
    -Xmnx   选项根据指定的垃圾回收策略,为新区域或 Eden 空间设置最大大小[IBM]

    -Xscmx   指定缓存的大小;这个参数只应用于 JVM 创建新缓存的情况。如果省略这个选项,那么选择一个与平台相关的默认值(通常是 16MB)。注意,一些操作系统设置可能会限制可分配的共享内存量,例如 Linux 上的 SHMMAX 通常设置为大约 20MB[IBM]
    -XX:PermSize=2048m     持久带堆的初始大小
    -XX:MaxPermSize=2048M   持久带堆的最大大小、根据所需设置。如要编译jdk这种、因所编译的类非常多、一定要将该参数设置较大。

    疑问解答
      Q:-Xmn、-XX:NewSize/-XX:MaxNewSize、-XX:NewRatio 3组参数都可以影响年轻代的大小,混合使用的情况下,优先级是什么?
      A:
        高:-XX:NewSize/-XX:MaxNewSize
        中:-Xmn
        低:-XX:NewRatio
        推荐使用-Xmn参数,原因是这个参数简洁,相当于一次设定 NewSize/MaxNewSIze,而且两者相等,适用于生产环境。-Xmn 配合 -Xms/-Xmx,即可将堆内存布局完成。
        -Xmn参数是在JDK 1.4 开始支持。

    Ⅱ、字节码验证优化
    -Xverify:none(关闭Java字节码验证,从而加快了类装入的速度)

    Ⅲ、预热方法的缓存
    -XX:CompileThreshold=100   方法调用多少次就会被编译成本地机器码
    -XX:ParallelGCThreads=4    配置并行收集器的线程数,即:同时有多少个线程一起进行垃圾回收。此值建议配置与CPU数目相等。

    Ⅳ、垃圾回收器选择
      JVM给出了3种选择:串行收集器、并行收集器、并发收集器。串行收集器只适用于小数据量的情况,所以生产环境的选择主要是并行收集器和并发收集器。
      默认情况下JDK5.0以前都是使用串行收集器,如果想使用其他收集器需要在启动时加入相应参数。JDK5.0以后,JVM会根据当前系统配置进行智能判断。

    -XX:+DisableExplicitGC   禁用System.gc()的显示内存回收
    -XX:+UseParNewGC      使用并发内存回收(年轻GC)、关注响应时间。注:另一个年轻GC为: -XX:+UseParallelGC  关注吞吐量
    -XX:+UseConcMarkSweepGC
    -XX:CMSInitiatingOccupancyFraction=80 --------------------- 作者:bluetata 来源:CSDN 原文:https://blog.csdn.net/dietime1943/article/details/54315971?utm_source=copy 版权声明:本文为博主原创文章,转载请附上博文链接!

  • 相关阅读:
    pm2
    php 基础知识
    EBADF, read
    php apache
    noah
    ejs
    node linux
    枚举系统进程
    c++ 进程权限的提升
    Liunx的目录结构
  • 原文地址:https://www.cnblogs.com/light-zhang/p/9770515.html
Copyright © 2011-2022 走看看