我有以下配置的内存选项: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