zoukankan      html  css  js  c++  java
  • jvm调优

    JVM给了三种选择:串行收集器,并行收集器,并发收集器,但是串行收集器只适用于小数据量的情况,所以这里的选择主要针对并行收集器和并发收集器。默认情况下,JDK5.0以前都是使用串行收集器,如果想使用其他收集器需要在启动时加入相应参数.JDK5.0以后,JVM根据会当前系统-配置进行判断。

      1. 优先有效产出的parallel-收集器
        如上文所述,并行收集器主要以到达一定的吞吐量为目标,适用于科学技术和后台处理等。
        典型配置
        • java -Xmx3800m -Xms3800m -Xmn2g -Xss128k  -XX:+ UseParallelGC -XX:ParallelGCThreads = 20
          -XX:+ UseParallelGC:选择垃圾收集器为并行收集器。此配置仅对年轻代有效。即上述配置下,年轻代使用并发收集,而年老代仍旧使用串行收集。-
          XX:ParallelGCThreads = 20:配置并行收集器的线程数,即:同时多少个线程一起进行垃圾回收。此值最好配置与处理器数目相等。
        • java -Xmx3550m -Xms3550m -Xmn2g -Xss128k -XX:+ UseParallelGC -XX:ParallelGCThreads = 20  -XX:+ UseParallelOldGC
          -XX:+ UseParallelOldGC:配置年老代垃圾收集方式为并行收集.JDK6.0支持对年老代并行收集。
        • java -Xmx3550m -Xms3550m -Xmn2g -Xss128k -XX:+ UseParallelGC   -XX:MaxGCPauseMillis = 100
          -XX:MaxGCPauseMillis = 100 :设置每次年轻代垃圾回收的最长时间,如果无法满足此时间,JVM会自动调整年轻代大小,以满足此值。
        • java -Xmx3550m -Xms3550m -Xmn2g -Xss128k -XX:+ UseParallelGC -XX:MaxGCPauseMillis = 100  -XX:+ UseAdaptiveSizePolicy
          -XX:+ UseAdaptiveSizePolicy:设置此选项后,并行收集器会自动选择年轻代区大小和相应的幸存者区比例,以达到目标系统规定的最低相应时间或者收集频率等,此值建议使用并行收集器时,一直打开。
      2. 时间响应优先的并发收集器
        如上文所述,并发收集器主要是保证系统的响应时间,减少垃圾收集时的停顿时间适用于应用服务器,电信领域等。
        典型配置
        • java -Xmx3550m -Xms3550m -Xmn2g -Xss128k -XX:ParallelGCThreads = 20  -XX:+ UseConcMarkSweepGC -XX:+ UseParNewGC
          -XX:+ UseConcMarkSweepGC:设置年老代为并发收集。测试中配置这个以后,-XX:NewRatio = 4的配置失效了,原因不明。所以,此时年轻代大小最好用-Xmn设置。-
          XX:+ UseParNewGC:设置年轻代为并行收集。可与CMS收集同时使用.JDK5.0以上,JVM会根据系统配置自行设置,所以无需再设置此值。
        • java -Xmx3550m -Xms3550m -Xmn2g -Xss128k -XX:+ UseConcMarkSweepGC  -XX:CMSFullGCsBeforeCompaction = 5 -XX:+ UseCMSCompactAtFullCollection
          -XX:CMSFullGCsBeforeCompaction:由于并发收集器不对内存空间进行压缩,整理,所以运行一段时间以后会产生“碎片“,使得运行效率降低。此值设置运行多少次GC以后对内存空间进行压缩,整理。-
          XX:+ UseCMSCompactAtFullCollection:打开对年老代的压缩。可能会影响性能,但是可以消除碎片
  • 相关阅读:
    Python学习 —— 阶段综合练习三
    Git 学习(二)版本库创建
    Python学习(九)IO 编程 —— 文件读写
    Pydoc 本地 HTML 形式查看
    Python学习(九)IO 编程 —— 文件夹及文件操作
    在 Virtual Box 安装 Mac Os 并安装 Qt 开发应用
    滚动歌词制作 之 ncm格式转mp3
    Web —— 在自己电脑搭建网站,发布到公网,并使用域名访问
    版本控制软件的使用
    C++ —— 返回数组指针的函数 和 返回指向函数的指针的函数
  • 原文地址:https://www.cnblogs.com/fengwenzhee/p/14318527.html
Copyright © 2011-2022 走看看