亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

JVM和GC關鍵參數

發布時間:2020-07-29 12:49:12 來源:網絡 閱讀:438 作者:愛與夢想 欄目:軟件技術

1. JVM內存關鍵參數

參數均在tomcat/bin/catalina.sh中設置


-server:服務器模式,不配置默認是-client,一定要作為第一個參數。

-Xms和-Xmx:堆的最小值和最大值。線上這倆值必須一致。設置成一樣,避免每次GC之后重新分配堆的大小。建議堆的最大值設置為可用內存最大值的80%(使用命令free或cat /proc/meminfo查看,實際可用物理內存=free+buffer+cache)。但是如果真的設置到了80%,服務器的內存可能會使用過高,可以調低一點。

-Xmn:設置堆內存中的年輕代大小,剩下的為年老代大小。此值對系統性能影響較大,Sun官方推薦配置為整個堆的3/8

-XX:NewRatio:表示年輕代與年老代的比值,去掉-Xmn這個參數后,默認使用這個參數,比值是2,也就是年輕代占1/3

-XX:SurvivorRatio:設置兩個survivor區與eden區的比值,設置為8,則兩個Survivor區與一個Eden區的比值為2:8,一個Survivor區占整個年輕代的1/10

-XX:PermSize和-XX:MaxPermSize(jdk1.7):永久代初始值,默認是物理內存的1/64,永久代最大值,默認是物理內存的1/4。建議分別設置為128、512

-XX:MetaspaceSize和-XX:MaxMetaspaceSize(jdk1.8):同上

-Xss:設定每個線程的棧大小。每個線程都有一個棧,用于保存函數調用、返回地址等,默認為1M,一般不需修改。

-XX:+AlwaysPreTouch:jvm啟動的時候就分配內存,其實就是預熱的效果。

-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=path_address:jvm崩潰的時候會打印出堆信息


如果catalina.sh里沒有設置-Xms -Xmx -Xmn等值,可以在以下頁面查看,參考:https://blog.51cto.com/11009785/2396840JVM和GC關鍵參數


2. GC相關的參數

-XX:+UseConcMarkSweepGC:CMS,并發收集器(針對年老代)

-XX:CMSInitiatingOccupancyFraction=75和-XX:+UseCMSInitiatingOccupancyOnly一起使用,設定CMS在對內存占用率達到75%的時候開始GC(控制頻率,減少時常),第二個參數就是說要用前面設定的值。默認這個值是 -1,使用以下命令,可以查看設置的值,其中2713改為java的pid(通過ps -ef | grep java查看)

jinfo?-flag?CMSInitiatingOccupancyFraction?2713

然而,請記住大多數情況下,JVM比我們自己能作出更好的垃圾收集決策。因此,只有當我們充足的理由(比如測試)并且對應用程序產生的對象的生命周期有深刻的認知時,才應該使用該標志。

-XX:+ExplicitGCInvokesConcurrent:在CMS中并行執行GC,不會暫停,提升GC效率

-XX:+ParallelRefProcEnabled和-XX:+CMSParallelInitialMarkEnabled一起使用,在CMS中并行執行,減少暫停時間

-XX:+CMSScavengeBeforeRemark:在CMS GC之前執行一次ygc(ygc針對年輕代,CMS GC針對年老代),避免CMS GC和ygc連在一起執行從而增大暫停時間

-XX:+UseCMSCompactAtFullCollection:CMS是不會整理堆碎片的,加上此參數可以對存活的對象進行整理,使memory碎片減少

-XX:CMSFullGCsBeforeCompaction=3: 多少次Full GC 后壓縮old generation一次。應該是針對-XX:+UseCMSCompactAtFullCollection設置的次數。

-XX:+CMSClassUnloadingEnabled:(只有在UseConcMarkSweepGC也啟用的情況下才有用)在使用CMS垃圾回收機制的時候是否啟用類卸載功能。默認這個是設置為不啟用的,如果你啟用了CMSClassUnloadingEnabled ,垃圾回收會清理持久代,移除不再使用的classes。

-XX:+PrintGCDateStamps -verbose:gc,在log里打印GC的詳細信息


一般來說,根據下面的風格設置:

JVM和GC關鍵參數


更多的參數及介紹,請參考:

https://www.cnblogs.com/hongdada/p/10277782.html

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

碌曲县| 永和县| 石泉县| 泸水县| 库尔勒市| 堆龙德庆县| 甘洛县| 青田县| 大埔区| 中山市| 二连浩特市| 锦州市| 柞水县| 汪清县| 荔波县| 拉萨市| 二连浩特市| 常州市| 龙门县| 鹤山市| 武冈市| 义马市| 陆河县| 平度市| 慈溪市| 麻阳| 炉霍县| 美姑县| 肇州县| 河间市| 旬阳县| 新津县| 西丰县| 云龙县| 永丰县| 鄂托克前旗| 平利县| 满洲里市| 昆明市| 杭锦旗| 广水市|