<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                # :-: JVM性能調優 * [一、JVM和系統調用之間的關系](http://www.hmoore.net/zlt2000/microservices-platform/989551#JVM_1) * [二、JVM常用內存設置](http://www.hmoore.net/zlt2000/microservices-platform/989551#JVM_6) * [三、垃圾回收機制](http://www.hmoore.net/zlt2000/microservices-platform/989551#_11) * [四、垃圾回收器](http://www.hmoore.net/zlt2000/microservices-platform/989551#_17) * [五、JVM優化目標](http://www.hmoore.net/zlt2000/microservices-platform/989551#JVM_21) * [六、JVM參數設置例子](http://www.hmoore.net/zlt2000/microservices-platform/989551#JVM_27) ## 一、JVM和系統調用之間的關系 ![](https://box.kancloud.cn/0b7ead804a1c0ad99a5c72d53775227f_652x625.png) > 方法區和堆是所有線程共享的內存區域;而java棧、本地方法棧和程序計數器是運行是線程私有的內存區域。 ## 二、JVM常用內存設置 ![](https://img.kancloud.cn/81/28/8128f56458ac53d496d0d7a18f75ba61_2256x1058.png) > jdk1.8后`prmSize`替換為`metaspaceSize` ## 三、垃圾回收機制 ![](https://box.kancloud.cn/20f61812fe7ebd758273caad400e7586_1010x418.png) * 優先在Eden區分配。當Eden區沒有足夠空間分配時, VM發起一次Minor GC,將Eden區和其中一塊Survivor區內尚存活的對象放入另一塊Survivor區域。如MinorGC時survivor空間不夠,對象提前進入老年代,老年代空間不夠時進行Full GC * 大對象直接進入老年代,避免在Eden區和Survivor區之間產生大量的內存復制, 此外大對象容易導致還有不少空閑內存就提前觸發GC以獲取足夠的連續空間 ## 四、垃圾回收器 ![](https://box.kancloud.cn/b13f9fea4441821a7511457e3e6d10a8_892x563.png) ## 五、JVM優化目標 1. 調整堆內存的比例,盡量避免或減少FULL GC 2. 選擇合適的垃圾回收器 3. 增加日志信息,用于應用出問題后還原事故現場 ## 六、JVM參數設置例子 這個是4核8G服務器的jvm配置,JDK1.8 ~~~ -Xmx5440M -Xms5440M \ -XX:MaxMetaspaceSize=512M -XX:MetaspaceSize=512M \ -XX:+UseG1GC -XX:MaxGCPauseMillis=100 -XX:+ParallelRefProcEnabled \ -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=$1_dump.hprof \ -XX:+PrintGCDetails -XX:+PrintGCDateStamps -Xloggc:$1_gc_trace.log ~~~ > \-XX:+UseG1GC:使用G1回收器(jdk1.7以上、2G以上堆內存推薦使用)-XX:MaxGCPauseMillis: 設置GC的最大暫停時間(ms)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看