1.jvm的內存參數說明:
-Xms: jvm啓動時申請的初始Heap值,默認爲操做系統物理內存的1/64可是小於1G;(8G內存的機器爲:128M);默認當空餘堆的內存大於70%時,JVM會減少到-Xms制定的大小;
-Xmx: JVM可申請的最大Heap值,默認爲無力內存的1/4但小於1G;(8G內存的機器爲:1G);默認當空餘堆內存小於40%時,JVM會增大Heap到-Xmx指定的大小;
-XX:MinHeapFreeRation:指定堆內存的放縮比例;
-Xmn:配置年輕代大小,對系統性能影響較大;老年代爲-Xmx的值減去它的值;(大對象和大的數組對象會直接在老年代分配);
-XX:PretenureSizeThreshold=? 用於配置大對象的界定,默認爲零;超過其值就被認爲是大對象;
-Xss: java每一個線程的Stack大小;jdk5之後,每一個線程堆棧大小爲1M; 相同無力內存下,減少這個值能生成更多的線程; OS對一個進程內的現場有限制,大體在3000~5000左右;
-XX:PermSize 持久代的初始化大小;
-XX:MaxPermSize 持久代的最大內存大小:
-XX+UseSerialGc: jvm的默認GC方式,效率較高,但可能給應用帶來停頓;
-XX:+UseParallelGC: 並行GC,效率高,算法複雜,消耗較大;
-XX:parallelGCThreads: 並行收集器的線程數;
-XX:+UseCMSCompactAtFullCollection: 在full gc後,對內存碎片進行整理;
-XX:CMSFullGCsBeforeCompaction=? : 用來控制多少次Full GC後進行碎片整理;
參數分類:
-標準參數; -X: 非標準參數; -XX:非Stable參數;java