zoukankan      html  css  js  c++  java
  • JVM典型配置和调优举例

    1. 堆设置
    -Xms: :初始堆大小。
    -Xmx: :最大堆大小。
    -XX:NewSize=n: :设置年轻代大小。
    -XX:NewRatio=n: : :设置年轻代和年老代的比值。如:为 3,表示年轻代与年老代比值为 1:3,
    年轻代占整个年轻代年老代和的 1/4。
    -XX:SurvivorRatio=n: : :年轻代中 Eden 区与两个 Survivor 区的比值。注意 Survivor 区有两个。
    如:3,表示 Eden:Survivor=3:2,一个 Survivor 区占整个年轻代的 1/5。
    -XX:MaxPermSize=n: : 设置持久代大小。
    2. 收集器设置
    -XX:+UseSerialGC: : 设置串行收集器。
    -XX:+UseParallelGC: : 设置并行收集器。
    -XX:+UseParalledlOldGC: : 设置并行年老代收集器。
    -XX:+UseConcMarkSweepGC: : 设置并发收集器。
    3. 垃圾回收统计信息设置
    -XX:+PrintGC
    -XX:+PrintGCDetails
    -XX:+PrintGCTimeStamps
    -Xloggc:filename
    4. 并行收集器设置
    -XX:ParallelGCThreads=n:设置并行收集器收集时使用的 CPU 数。并行收集线程数。
    -XX:MaxGCPauseMillis=n:设置并行收集最大暂停时间。
    29
    -XX:GCTimeRatio=n:设置垃圾回收时间占程序运行时间的百分比。公式为 1/(1+n)。
    5. 并发收集器设置
    -XX:+CMSIncrementalMode: : 设置为增量模式。适用于单 CPU 情况。
    -XX:ParallelGCThreads=n: : 设置并发收集器年轻代收集方式为并行收集时,使用的 CPU 数。并行
    收集线程数。
    6. 年轻代大小选择
    响应时间优先的应用 : :尽可能设大,直到接近系统的最低响应时间限制(根据实际情况选择)。
    在此种情况下,年轻代收集发生的频率也是最小的。同时,减少到达年老代的对象。
    吞吐量优先的应用 :尽可能的设置大,可能到达 Gbit 的程度。因为对响应时间没有要求,
    垃圾收集可以并行进行,一般适合 8CPU 以上的应用。
    7. 年老代大小选择
    响应时间优先的应用 : :年老代使用并发收集器,所以其大小需要小心设置,一般要考虑 并发
    会话 率和 会话持续时间等一些参数。如果堆设置小了,可以会造成内存碎片、高回收频率以
    及应用暂停而使用传统的标记清除方式;如果堆大了,则需要较长的收集时间。最优化的方
    案,一般需要参考以下数据获得:

    1. 并发垃圾收集信息
    2. 持久代并发收集次数
    3. 传统 GC 信息
    4. 花在年轻代和年老代回收上的时间比例
    减少年轻代和年老代花费的时间,一般会提高应用的效率

  • 相关阅读:
    编译impala2.0.0
    CentOS 7 安装Boost 1.61
    CentOS 6.4 编译安装LLVM3.3,Clang和Libc++
    批量修改dos文件到unix
    git win7 dos下设置代理
    vim源码编译启用python
    一张图看懂天津市教育云服务平台
    关于git中Pageant开机启动且自动关联秘钥
    Windows 10安装pip方法
    大数据中心的业务研发路线
  • 原文地址:https://www.cnblogs.com/alexzhang92/p/11029492.html
Copyright © 2011-2022 走看看