我有以下配置的內存選項:Java的GC概念:CMSInitiatingOccupancyFraction
出口MEM_OPTS =「 - Xmx2560m -Xms2560m -XX:新尺寸=786米-XX:MaxNewSize =786米-XX:+ UseTLAB -XX:MaxPermSize參數=512米「
GC參數如下:
出口GC1_OPTS =」 - XX:+ UseConcMarkSweepGC -XX:+ UseParNewGC -XX:CMSInitiatingOccupancyFraction = 50 -XX:+ CMSPermGenSweepingEnabled -XX:+ CMSClassUnloadingEnabled -XX: + CMSParallelRemarkEnabled -XX:+ UseAdaptiveGCBoundary「 export GC2_OPTS =「 - XX:+ ExplicitGCInvokesConcurrent」
我想知道,當CMS運行時,它將在2560 MB的50%之後運行,還是會在512 MB內存的50%之後運行。
這是什麼概念?
我的總堆內存將= 2560 + 786 + 512 MB ....對吧?或者「-XX:NewSize = 786m -XX:MaxNewSize = 786m」用於NON堆。請解釋這個概念。
感謝您的明確解釋。 – VJS